SlideShare ist ein Scribd-Unternehmen logo
1 von 48
INTRODUCING APACHE
KAFKA – SCALABLE,
RELIABLE EVENT BUS &
ESSAGE QUEUE
Maarten Smeets & Lucas Jellema
09 February 2017, Nieuwegein
M
AGENDA
INTRODUCTION & OVERVIEW DEMO HANDSON PART 1 -
PRODUCING AND CONSUMING
MESSAGES (PUB/SUB)
DINNER KAFKA:
SOME HISTORY, A PEEK UNDER
THE HOOD, ROLE IN
ARCHITECTURE AND USE CASES
KAFKA AND ORACLE HANDSON PART 2 –
MORE COMPLEX SCENARIOS
AND SOME BACKGROUND &
ADMIN
Producers
Consumers
SENDING MESSAGES TO CONSUMERS
• Dependency on producer at design time and at run time
• Deal with multiple consumers?
• Synchronous (blocking) waits
• (how to) Cross technology realms
• (how to) Cross host, location, clouds
• Availability of consumers
• Message delivery guarantees
• Scaling, high (peak) volumes
Producers
Consumers
MESSAGING – TO DECOUPLE PUB AND SUB
MESSAGING AS WE KNOW IT
• JMS, Oracle Advanced Queuing, IBM MQ, MS MQ, RabbitMQ,
MQTT, XMPP, WebSockets, …
• Challenges
• Costs
• Scalability (size and speed)
• (lack of) Distribution (and therefore availability)
• Complexity of infrastructure
• Message delivery guarantees
• Lack of technology openness
• Deal with temporarily offline consumers
• Retain history
Producers
Consumers
tcp
tcp
Producers
Consumers
Topic
KAFKA TERMINOLOGY
• Topic
• Message
• == ByteArray
• Broker
• Producer
• Consumer
Producer Consumer
Topic
Broker
Key
Value
Time
Message
Producers
Consumers
Topic
Broker
Key
Value
Time
CONSUMING
• Messages are available to consumers only when they have been
committed
• Kafka does not push
• Unlike JMS
• Read does not destroy
• Unlike JMS Topic
• (some) History available
• Offline consumers can catch up
• Consumers can re-consume from the past
• Delivery Guarantees
• Ordering maintained
• At-least-once (per consumer) by default; at-most-once and exactly-once can be
implemented
Producers
Consumers
Topic
Broker
Key
Value
Time
WHAT’S SO SPECIAL?
• Durable
• Scalable
• High volume
• High speed
• Available
• Distributed
• Open
• Quick start
• Free (no license costs)
Producers
Consumers
Topic
Broker
tcp
tcp
AGENDA
INTRODUCTION & OVERVIEW DEMO HANDSON PART 1 -
PRODUCING AND
CONSUMING MESSAGES
(PUB/SUB)
DINNER KAFKA:
SOME HISTORY, A PEEK UNDER
THE HOOD, ROLE IN
ARCHITECTURE AND USE CASES
KAFKA AND ORACLE HANDSON PART 2 –
MORE COMPLEX SCENARIOS
AND SOME BACKGROUND &
ADMIN
AGENDA
INTRODUCTION & OVERVIEW DEMO HANDSON PART 1 -
PRODUCING AND CONSUMING
MESSAGES (PUB/SUB)
DINNER KAFKA:
SOME HISTORY, A PEEK UNDER
THE HOOD, ROLE IN
ARCHITECTURE AND USE CASES
KAFKA AND ORACLE HANDSON PART 2 –
MORE COMPLEX SCENARIOS
AND SOME BACKGROUND &
ADMIN
HISTORY
• ..- 2010 – creation at Linkedin
• It was designed to provide a high-performance, scalable messaging system which could handle multiple
consumers, many types of data [at high volumes and peaks], and provide for the availability & persistence
of clean, structured data […] in real time.
• 2011 – open source under the Apache Incubator
• October 2012 – top project under Apache Software Foundation
• 2014 – several orginal Kafka engineers founded Confluent
• 2016
• Introduction of Kafka Connect (0.9)
• Introduction of Kafka Streams (0.10)
• Octobermost recent stable release 0.10.1
• Kafka is used by many large corporations:
• Walmart, Cisco, Netflix, PayPal, LinkedIn, eBay, Spotify, Uber, Sift Science
• And embraced by many software vendors & cloud providers
USE CASES
• Messaging & Queuing
• Handle fast data (IoT, social media, web clicks, infra metrics, …)
• Receive and save – low latency, high volume
• Log aggregation
• Event Sourcing and Commit Log
• Stream processing
• Single enterprise event backbone
• Connect business processes, applications, microservices
PLAYS NICE WITH & ARCHITECTURE
SOME NUMBERS
KAFKA INCARNATIONS
• Kafka Docker Images
• Confluent (Spotify, Wurstmeister)
• Cloud:
• CloudKarafka
• IBM BlueMix Message Hub
• AWS supports Kafka (but tries to propose Amazon Kinesis Streams)
• Google runs Kafka (though tries to push Google Pub/Sub)
• Bitnami VMs for many cloud providers such as Azure, GCP, AWS, OPC
• Kafka Connectors in many platforms
• Azure IoT Hub, Google Pub/Sub, Mule AnyPoint Connector, …
• Oracle ….
KAFKA ECO SYSTEM
• Confluent
• OpenSource: Native Clients, Camus (link to Hadoop), REST Proxy, Schema
Registry
• Enterprise: Kafka Ops Dashboard/Control Center, Auto Data Balancing,
MultiData Center Replication ,
• Community
• Connectors
• Client libraries
• …
KAFKA CONNECT
• Kafka Connect is a framework for connectors (aka adapters) that
provide bridges for
• Producing from specific technologies
to Kafka
• Consuming from Kafka to specific
technologies
• For example:
• JDBC
• Hadoop
KAFKA CONNECT – CONNECTORS
KAFKA STREAMS
• Real Time Event [Stream] Processing integrated into Kafka
• Aggregations & Top-N
• Time Windows
• Continuous Queries
• Latest State (event sourcing)
• Turn Stream (of changes) into Table
(of most recent or current state)
• Part of the state can be quite old
• A Kafka Streams client will have state
in memory
• Always to be recreated from topic partition
log files
• Note: Kafka Streams is relatively new
• Only support for Java clients
KAFKA STREAMS
Topic
Filter
Aggregate
Join
Topic
Map (Xform)
Publish
Topic
EXAMPLE OF KAFKA STREAMS
Topic
SelectKey
AggregateByKey
Join
Topic
Map (Xform)
Publish
CountryMessage
Continent
Name
Population
Size
Set Continent
as key
Update Top 3
biggest
countries
As JSON
Size in Square
Miles, % of entire
continent
Total area for
each continent
Topic: Top3CountrySizePerContinent
countries2.csv
Topic
Broker
Producer
SelectKey
AggregateByKey
Map (Xform)
Publish
Set Continent as
key
Update Top 3
biggest countries
Topic:
Top3CountrySizePerContinent
EXAMPLE OF
KAFKA STREAMS
Topic
SelectKey
AggregateByKey
Publish to
Topic
Topic: Top3CountrySizePerContinent
CountryMessage
Continent
Name
Population
Size
Set Continent
as key
Update Top 3
biggest
countries
As JSON
Print
Producers
Consumers
Topic
Broker
tcp
tcp
PARTITIONS
• Topics are configured with a number of partitions
• Storage, serialization, replication, availability, order guarantee are all at
partition level
• Each partition is an ordered, immutable sequence of records that is
continually appended to
• Producer can specify the destination
partition to write to
• Alternatively the partition is determined from
the message key or simply by load balancing
• Multiple partitions can be written to at
the same time
PRODUCING MESSAGES
• The producer sets the partition for each message
• Note: it should talk to the broker who is leader for that partition
• Messages can be produced one-by-one or in batches
• Batches balance latency vs throughput
• A batch can contain messages for different topics & partitions
• Messages can be compressed
• Producers can configure required
acknowledgement level (from broker)
• No (waiting for leader to complete)
• Wait for leader to commit [to file log]
• Wait for all replicas to complete
• Note: messages are serialized to byte array
as the wire format
Producers
Topic
Broker
tcp
CONSUMING
• A consumer pulls from a Topic
• Consuming can be done in parallel to producing
• And many consumers can consume at the same time
• Each consumer has a Message Offset per partition
• That can be different across consumers
• That can be adjusted at any time
• Delivery Guarantees
• At least once (per consumer) by default; adjust offset when all messages have been processed
• At-most-once and exactly-once can be implemented (for example: maintain offset in the same
transaction that processes the messages)
• Message Retention
• Time Based (at least for … time)
• Size Based (log files can be no larger than … MB/GB/TB)
• Key based aka Log Compaction (retain at least the latest
message for each primary key value)
Consumers
Topic
tcp
CONSUMER GROUPS FOR PARALLEL
MESSAGE PROCESSING
• Multiple consumers can be in the same Consumer Group
• They collaborate on processing messages from a Topic (horizontal
scalability)
• Each Consumer in the Group receives
messages from a different partition
• Messages are delivered to
only one consumer in the group
• Consumers outside the Consumer Group can
pull from the same Topic & Partition
• And process the same messages
Consumers
Topic
tcp
CLUSTER – RELIABLE, SCALABLE
• A cluster consists of multiple brokers,
possibly on multiple server nodes
• Each node runs
• Apache ZooKeeper to keep track
• One or more Kafka Brokers
• Each with their own set of storage logs
• Each partition lives on one or more
brokers (and sets of logs)
• Defined through topic replication factor
• One is the leader, the others are follower
replicas
• Clients communicate about a partition with the broker
that contains the leader replica for that partition
• Changes are committed by the leader, then
replicated across the followers
Broker
Topic
Partition
Partition
Broker
Topic
Partition
Partition
Broker
Topic
Partition
Partition
Broker
Topic
Partition
Partition
CLUSTER – RELIABLE, SCALABLE (2)
• ZooKeeper has list of all brokers
and a list of all topics and partitions
(with leader and ISR)
• Leader has list of all alive followers
(in-synch replicas or ISR)
• Follower-replicas consume messages
from the leader to synchronize
• Similar to normal message consumers
• Note: message producers requesting
full acknowledgement will get ack
once all follower replicates have
consumed the message
• N-1 replicas can fail without loss of messages
Broker
Topic
Partition
Partition
Broker
Topic
Partition
Partition
Broker
Topic
Partition
Partition
Broker
Topic
Partition
Partition
AGENDA
INTRODUCTION & OVERVIEW DEMO HANDSON PART 1 -
PRODUCING AND CONSUMING
MESSAGES (PUB/SUB)
DINNER KAFKA:
SOME HISTORY, A PEEK UNDER
THE HOOD, ROLE IN
ARCHITECTURE AND USE CASES
KAFKA AND ORACLE HANDSON PART 2 –
MORE COMPLEX SCENARIOS
AND SOME BACKGROUND &
ADMIN
ORACLE AND KAFKA
• On premises
• Service Bus Kafka transport (demo!)
• Stream Analytics Kafka Adapter (demo!)
• GoldenGate for Big Data handler for Kafka
• Data Integrator (coming soon)
• Cloud
• Elastic Big Data & Streaming platform
• Event Hub (coming soon)
GOLDENGATE FOR BIG DATA
GOLDENGATE FOR BIG DATA
DATA INTEGRATOR
ELASTIC BIG DATA & STREAMING PLATFORM
EVENT HUB
EVENT HUB
EVENT HUB
AGENDA
INTRODUCTION & OVERVIEW DEMO HANDSON PART 1 -
PRODUCING AND CONSUMING
MESSAGES (PUB/SUB)
DINNER KAFKA:
SOME HISTORY, A PEEK UNDER
THE HOOD, ROLE IN
ARCHITECTURE AND USE CASES
KAFKA AND ORACLE HANDSON PART 2 –
MORE COMPLEX
SCENARIOS AND SOME
BACKGROUND & ADMIN
HANDS ON PART 2
• Continue part 1
• Java and/or Node consuming/producing
• Some Admin & advanced stuff
• Partitions
• Multiple producers, multiple consumers
• New consumer, go back in time
• Expiration of messages
• Multi-broker, Cluster configuration, ZooKeeper
• Resources: https://github.com/MaartenSmeets/kafka-workshop
• Blog: technology.amis.nl
On Oracle, Cloud, SQL, PL/SQL, Java, JavaScript, Continuous Delivery, SOA, BPM & more
• Email: maarten.smeets@amis.nl , lucas.jellema@amis.nl
• : @MaartenSmeetsNL , @lucasjellema
• : smeetsm , lucas-jellema
• : www.amis.nl, info@amis.nl
+31 306016000
Edisonbaan 15,
Nieuwegein

Weitere ähnliche Inhalte

Was ist angesagt?

Apache Kafka
Apache KafkaApache Kafka
Apache KafkaJoe Stein
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaShiao-An Yuan
 
Introduction Apache Kafka
Introduction Apache KafkaIntroduction Apache Kafka
Introduction Apache KafkaJoe Stein
 
Building Event-Driven Systems with Apache Kafka
Building Event-Driven Systems with Apache KafkaBuilding Event-Driven Systems with Apache Kafka
Building Event-Driven Systems with Apache KafkaBrian Ritchie
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache KafkaAmir Sedighi
 
Design Patterns for working with Fast Data
Design Patterns for working with Fast DataDesign Patterns for working with Fast Data
Design Patterns for working with Fast DataMapR Technologies
 
Introduction to Kafka
Introduction to KafkaIntroduction to Kafka
Introduction to KafkaDucas Francis
 
Apache Kafka - Free Friday
Apache Kafka - Free FridayApache Kafka - Free Friday
Apache Kafka - Free FridayOtávio Carvalho
 
Apache Kafka - Martin Podval
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin PodvalMartin Podval
 
Devoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaDevoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaLászló-Róbert Albert
 
From Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
From Message to Cluster: A Realworld Introduction to Kafka Capacity PlanningFrom Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
From Message to Cluster: A Realworld Introduction to Kafka Capacity Planningconfluent
 
Introduction to Apache Kafka- Part 1
Introduction to Apache Kafka- Part 1Introduction to Apache Kafka- Part 1
Introduction to Apache Kafka- Part 1Knoldus Inc.
 
Introduction to Apache Kafka and why it matters - Madrid
Introduction to Apache Kafka and why it matters - MadridIntroduction to Apache Kafka and why it matters - Madrid
Introduction to Apache Kafka and why it matters - MadridPaolo Castagna
 

Was ist angesagt? (20)

Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Introduction Apache Kafka
Introduction Apache KafkaIntroduction Apache Kafka
Introduction Apache Kafka
 
kafka for db as postgres
kafka for db as postgreskafka for db as postgres
kafka for db as postgres
 
Building Event-Driven Systems with Apache Kafka
Building Event-Driven Systems with Apache KafkaBuilding Event-Driven Systems with Apache Kafka
Building Event-Driven Systems with Apache Kafka
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache Kafka
 
Design Patterns for working with Fast Data
Design Patterns for working with Fast DataDesign Patterns for working with Fast Data
Design Patterns for working with Fast Data
 
Introduction to Kafka
Introduction to KafkaIntroduction to Kafka
Introduction to Kafka
 
Apache Kafka - Free Friday
Apache Kafka - Free FridayApache Kafka - Free Friday
Apache Kafka - Free Friday
 
Apache Kafka - Martin Podval
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin Podval
 
Kafka blr-meetup-presentation - Kafka internals
Kafka blr-meetup-presentation - Kafka internalsKafka blr-meetup-presentation - Kafka internals
Kafka blr-meetup-presentation - Kafka internals
 
Apache Kafka Best Practices
Apache Kafka Best PracticesApache Kafka Best Practices
Apache Kafka Best Practices
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Kafka internals
Kafka internalsKafka internals
Kafka internals
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Devoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaDevoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with Kafka
 
From Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
From Message to Cluster: A Realworld Introduction to Kafka Capacity PlanningFrom Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
From Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
 
Introduction to Apache Kafka- Part 1
Introduction to Apache Kafka- Part 1Introduction to Apache Kafka- Part 1
Introduction to Apache Kafka- Part 1
 
Introduction to Apache Kafka and why it matters - Madrid
Introduction to Apache Kafka and why it matters - MadridIntroduction to Apache Kafka and why it matters - Madrid
Introduction to Apache Kafka and why it matters - Madrid
 

Ähnlich wie AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message Queue

Pulsar - flexible pub-sub for internet scale
Pulsar - flexible pub-sub for internet scalePulsar - flexible pub-sub for internet scale
Pulsar - flexible pub-sub for internet scaleMatteo Merli
 
Hands-on Workshop: Apache Pulsar
Hands-on Workshop: Apache PulsarHands-on Workshop: Apache Pulsar
Hands-on Workshop: Apache PulsarSijie Guo
 
Building an Event Bus at Scale
Building an Event Bus at ScaleBuilding an Event Bus at Scale
Building an Event Bus at Scalejimriecken
 
apachekafka-160907180205.pdf
apachekafka-160907180205.pdfapachekafka-160907180205.pdf
apachekafka-160907180205.pdfTarekHamdi8
 
Modern Distributed Messaging and RPC
Modern Distributed Messaging and RPCModern Distributed Messaging and RPC
Modern Distributed Messaging and RPCMax Alexejev
 
Messaging, storage, or both? The real time story of Pulsar and Apache Distri...
Messaging, storage, or both?  The real time story of Pulsar and Apache Distri...Messaging, storage, or both?  The real time story of Pulsar and Apache Distri...
Messaging, storage, or both? The real time story of Pulsar and Apache Distri...Streamlio
 
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker ContainersKafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containersconfluent
 
Timothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for MLTimothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for MLEdunomica
 
Unleashing Real-time Power with Kafka.pptx
Unleashing Real-time Power with Kafka.pptxUnleashing Real-time Power with Kafka.pptx
Unleashing Real-time Power with Kafka.pptxKnoldus Inc.
 
bigdata 2022_ FLiP Into Pulsar Apps
bigdata 2022_ FLiP Into Pulsar Appsbigdata 2022_ FLiP Into Pulsar Apps
bigdata 2022_ FLiP Into Pulsar AppsTimothy Spann
 
Introducing Apache Kafka and why it is important to Oracle, Java and IT profe...
Introducing Apache Kafka and why it is important to Oracle, Java and IT profe...Introducing Apache Kafka and why it is important to Oracle, Java and IT profe...
Introducing Apache Kafka and why it is important to Oracle, Java and IT profe...Lucas Jellema
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Guido Schmutz
 
Kafka syed academy_v1_introduction
Kafka syed academy_v1_introductionKafka syed academy_v1_introduction
Kafka syed academy_v1_introductionSyed Hadoop
 
Pulsar - Distributed pub/sub platform
Pulsar - Distributed pub/sub platformPulsar - Distributed pub/sub platform
Pulsar - Distributed pub/sub platformMatteo Merli
 
OSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland HochmuthOSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland HochmuthNETWAYS
 
OSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland HochmuthOSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland HochmuthNETWAYS
 

Ähnlich wie AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message Queue (20)

Pulsar - flexible pub-sub for internet scale
Pulsar - flexible pub-sub for internet scalePulsar - flexible pub-sub for internet scale
Pulsar - flexible pub-sub for internet scale
 
Hands-on Workshop: Apache Pulsar
Hands-on Workshop: Apache PulsarHands-on Workshop: Apache Pulsar
Hands-on Workshop: Apache Pulsar
 
Building an Event Bus at Scale
Building an Event Bus at ScaleBuilding an Event Bus at Scale
Building an Event Bus at Scale
 
Kafka tutorial
Kafka tutorialKafka tutorial
Kafka tutorial
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
apachekafka-160907180205.pdf
apachekafka-160907180205.pdfapachekafka-160907180205.pdf
apachekafka-160907180205.pdf
 
Modern Distributed Messaging and RPC
Modern Distributed Messaging and RPCModern Distributed Messaging and RPC
Modern Distributed Messaging and RPC
 
Messaging, storage, or both? The real time story of Pulsar and Apache Distri...
Messaging, storage, or both?  The real time story of Pulsar and Apache Distri...Messaging, storage, or both?  The real time story of Pulsar and Apache Distri...
Messaging, storage, or both? The real time story of Pulsar and Apache Distri...
 
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker ContainersKafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
 
Timothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for MLTimothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for ML
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Unleashing Real-time Power with Kafka.pptx
Unleashing Real-time Power with Kafka.pptxUnleashing Real-time Power with Kafka.pptx
Unleashing Real-time Power with Kafka.pptx
 
bigdata 2022_ FLiP Into Pulsar Apps
bigdata 2022_ FLiP Into Pulsar Appsbigdata 2022_ FLiP Into Pulsar Apps
bigdata 2022_ FLiP Into Pulsar Apps
 
Introducing Apache Kafka and why it is important to Oracle, Java and IT profe...
Introducing Apache Kafka and why it is important to Oracle, Java and IT profe...Introducing Apache Kafka and why it is important to Oracle, Java and IT profe...
Introducing Apache Kafka and why it is important to Oracle, Java and IT profe...
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !
 
Kafka syed academy_v1_introduction
Kafka syed academy_v1_introductionKafka syed academy_v1_introduction
Kafka syed academy_v1_introduction
 
Pulsar - Distributed pub/sub platform
Pulsar - Distributed pub/sub platformPulsar - Distributed pub/sub platform
Pulsar - Distributed pub/sub platform
 
Kafka Explainaton
Kafka ExplainatonKafka Explainaton
Kafka Explainaton
 
OSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland HochmuthOSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 - Monasca - Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
 
OSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland HochmuthOSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
OSMC 2016 | Monasca: Monitoring-as-a-Service (at-Scale) by Roland Hochmuth
 

Mehr von Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

Mehr von Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Kürzlich hochgeladen

Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 

Kürzlich hochgeladen (20)

Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 

AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message Queue

  • 1. INTRODUCING APACHE KAFKA – SCALABLE, RELIABLE EVENT BUS & ESSAGE QUEUE Maarten Smeets & Lucas Jellema 09 February 2017, Nieuwegein M
  • 2. AGENDA INTRODUCTION & OVERVIEW DEMO HANDSON PART 1 - PRODUCING AND CONSUMING MESSAGES (PUB/SUB) DINNER KAFKA: SOME HISTORY, A PEEK UNDER THE HOOD, ROLE IN ARCHITECTURE AND USE CASES KAFKA AND ORACLE HANDSON PART 2 – MORE COMPLEX SCENARIOS AND SOME BACKGROUND & ADMIN
  • 4. SENDING MESSAGES TO CONSUMERS • Dependency on producer at design time and at run time • Deal with multiple consumers? • Synchronous (blocking) waits • (how to) Cross technology realms • (how to) Cross host, location, clouds • Availability of consumers • Message delivery guarantees • Scaling, high (peak) volumes
  • 6. MESSAGING AS WE KNOW IT • JMS, Oracle Advanced Queuing, IBM MQ, MS MQ, RabbitMQ, MQTT, XMPP, WebSockets, … • Challenges • Costs • Scalability (size and speed) • (lack of) Distribution (and therefore availability) • Complexity of infrastructure • Message delivery guarantees • Lack of technology openness • Deal with temporarily offline consumers • Retain history
  • 9. KAFKA TERMINOLOGY • Topic • Message • == ByteArray • Broker • Producer • Consumer Producer Consumer Topic Broker Key Value Time Message
  • 11. CONSUMING • Messages are available to consumers only when they have been committed • Kafka does not push • Unlike JMS • Read does not destroy • Unlike JMS Topic • (some) History available • Offline consumers can catch up • Consumers can re-consume from the past • Delivery Guarantees • Ordering maintained • At-least-once (per consumer) by default; at-most-once and exactly-once can be implemented
  • 13. WHAT’S SO SPECIAL? • Durable • Scalable • High volume • High speed • Available • Distributed • Open • Quick start • Free (no license costs)
  • 15. AGENDA INTRODUCTION & OVERVIEW DEMO HANDSON PART 1 - PRODUCING AND CONSUMING MESSAGES (PUB/SUB) DINNER KAFKA: SOME HISTORY, A PEEK UNDER THE HOOD, ROLE IN ARCHITECTURE AND USE CASES KAFKA AND ORACLE HANDSON PART 2 – MORE COMPLEX SCENARIOS AND SOME BACKGROUND & ADMIN
  • 16. AGENDA INTRODUCTION & OVERVIEW DEMO HANDSON PART 1 - PRODUCING AND CONSUMING MESSAGES (PUB/SUB) DINNER KAFKA: SOME HISTORY, A PEEK UNDER THE HOOD, ROLE IN ARCHITECTURE AND USE CASES KAFKA AND ORACLE HANDSON PART 2 – MORE COMPLEX SCENARIOS AND SOME BACKGROUND & ADMIN
  • 17. HISTORY • ..- 2010 – creation at Linkedin • It was designed to provide a high-performance, scalable messaging system which could handle multiple consumers, many types of data [at high volumes and peaks], and provide for the availability & persistence of clean, structured data […] in real time. • 2011 – open source under the Apache Incubator • October 2012 – top project under Apache Software Foundation • 2014 – several orginal Kafka engineers founded Confluent • 2016 • Introduction of Kafka Connect (0.9) • Introduction of Kafka Streams (0.10) • Octobermost recent stable release 0.10.1 • Kafka is used by many large corporations: • Walmart, Cisco, Netflix, PayPal, LinkedIn, eBay, Spotify, Uber, Sift Science • And embraced by many software vendors & cloud providers
  • 18. USE CASES • Messaging & Queuing • Handle fast data (IoT, social media, web clicks, infra metrics, …) • Receive and save – low latency, high volume • Log aggregation • Event Sourcing and Commit Log • Stream processing • Single enterprise event backbone • Connect business processes, applications, microservices
  • 19. PLAYS NICE WITH & ARCHITECTURE
  • 21. KAFKA INCARNATIONS • Kafka Docker Images • Confluent (Spotify, Wurstmeister) • Cloud: • CloudKarafka • IBM BlueMix Message Hub • AWS supports Kafka (but tries to propose Amazon Kinesis Streams) • Google runs Kafka (though tries to push Google Pub/Sub) • Bitnami VMs for many cloud providers such as Azure, GCP, AWS, OPC • Kafka Connectors in many platforms • Azure IoT Hub, Google Pub/Sub, Mule AnyPoint Connector, … • Oracle ….
  • 22. KAFKA ECO SYSTEM • Confluent • OpenSource: Native Clients, Camus (link to Hadoop), REST Proxy, Schema Registry • Enterprise: Kafka Ops Dashboard/Control Center, Auto Data Balancing, MultiData Center Replication , • Community • Connectors • Client libraries • …
  • 23. KAFKA CONNECT • Kafka Connect is a framework for connectors (aka adapters) that provide bridges for • Producing from specific technologies to Kafka • Consuming from Kafka to specific technologies • For example: • JDBC • Hadoop
  • 24. KAFKA CONNECT – CONNECTORS
  • 25. KAFKA STREAMS • Real Time Event [Stream] Processing integrated into Kafka • Aggregations & Top-N • Time Windows • Continuous Queries • Latest State (event sourcing) • Turn Stream (of changes) into Table (of most recent or current state) • Part of the state can be quite old • A Kafka Streams client will have state in memory • Always to be recreated from topic partition log files • Note: Kafka Streams is relatively new • Only support for Java clients
  • 27. EXAMPLE OF KAFKA STREAMS Topic SelectKey AggregateByKey Join Topic Map (Xform) Publish CountryMessage Continent Name Population Size Set Continent as key Update Top 3 biggest countries As JSON Size in Square Miles, % of entire continent Total area for each continent Topic: Top3CountrySizePerContinent
  • 28. countries2.csv Topic Broker Producer SelectKey AggregateByKey Map (Xform) Publish Set Continent as key Update Top 3 biggest countries Topic: Top3CountrySizePerContinent
  • 29. EXAMPLE OF KAFKA STREAMS Topic SelectKey AggregateByKey Publish to Topic Topic: Top3CountrySizePerContinent CountryMessage Continent Name Population Size Set Continent as key Update Top 3 biggest countries As JSON Print
  • 31. PARTITIONS • Topics are configured with a number of partitions • Storage, serialization, replication, availability, order guarantee are all at partition level • Each partition is an ordered, immutable sequence of records that is continually appended to • Producer can specify the destination partition to write to • Alternatively the partition is determined from the message key or simply by load balancing • Multiple partitions can be written to at the same time
  • 32. PRODUCING MESSAGES • The producer sets the partition for each message • Note: it should talk to the broker who is leader for that partition • Messages can be produced one-by-one or in batches • Batches balance latency vs throughput • A batch can contain messages for different topics & partitions • Messages can be compressed • Producers can configure required acknowledgement level (from broker) • No (waiting for leader to complete) • Wait for leader to commit [to file log] • Wait for all replicas to complete • Note: messages are serialized to byte array as the wire format Producers Topic Broker tcp
  • 33. CONSUMING • A consumer pulls from a Topic • Consuming can be done in parallel to producing • And many consumers can consume at the same time • Each consumer has a Message Offset per partition • That can be different across consumers • That can be adjusted at any time • Delivery Guarantees • At least once (per consumer) by default; adjust offset when all messages have been processed • At-most-once and exactly-once can be implemented (for example: maintain offset in the same transaction that processes the messages) • Message Retention • Time Based (at least for … time) • Size Based (log files can be no larger than … MB/GB/TB) • Key based aka Log Compaction (retain at least the latest message for each primary key value) Consumers Topic tcp
  • 34. CONSUMER GROUPS FOR PARALLEL MESSAGE PROCESSING • Multiple consumers can be in the same Consumer Group • They collaborate on processing messages from a Topic (horizontal scalability) • Each Consumer in the Group receives messages from a different partition • Messages are delivered to only one consumer in the group • Consumers outside the Consumer Group can pull from the same Topic & Partition • And process the same messages Consumers Topic tcp
  • 35. CLUSTER – RELIABLE, SCALABLE • A cluster consists of multiple brokers, possibly on multiple server nodes • Each node runs • Apache ZooKeeper to keep track • One or more Kafka Brokers • Each with their own set of storage logs • Each partition lives on one or more brokers (and sets of logs) • Defined through topic replication factor • One is the leader, the others are follower replicas • Clients communicate about a partition with the broker that contains the leader replica for that partition • Changes are committed by the leader, then replicated across the followers Broker Topic Partition Partition Broker Topic Partition Partition Broker Topic Partition Partition Broker Topic Partition Partition
  • 36. CLUSTER – RELIABLE, SCALABLE (2) • ZooKeeper has list of all brokers and a list of all topics and partitions (with leader and ISR) • Leader has list of all alive followers (in-synch replicas or ISR) • Follower-replicas consume messages from the leader to synchronize • Similar to normal message consumers • Note: message producers requesting full acknowledgement will get ack once all follower replicates have consumed the message • N-1 replicas can fail without loss of messages Broker Topic Partition Partition Broker Topic Partition Partition Broker Topic Partition Partition Broker Topic Partition Partition
  • 37. AGENDA INTRODUCTION & OVERVIEW DEMO HANDSON PART 1 - PRODUCING AND CONSUMING MESSAGES (PUB/SUB) DINNER KAFKA: SOME HISTORY, A PEEK UNDER THE HOOD, ROLE IN ARCHITECTURE AND USE CASES KAFKA AND ORACLE HANDSON PART 2 – MORE COMPLEX SCENARIOS AND SOME BACKGROUND & ADMIN
  • 38. ORACLE AND KAFKA • On premises • Service Bus Kafka transport (demo!) • Stream Analytics Kafka Adapter (demo!) • GoldenGate for Big Data handler for Kafka • Data Integrator (coming soon) • Cloud • Elastic Big Data & Streaming platform • Event Hub (coming soon)
  • 42. ELASTIC BIG DATA & STREAMING PLATFORM
  • 46. AGENDA INTRODUCTION & OVERVIEW DEMO HANDSON PART 1 - PRODUCING AND CONSUMING MESSAGES (PUB/SUB) DINNER KAFKA: SOME HISTORY, A PEEK UNDER THE HOOD, ROLE IN ARCHITECTURE AND USE CASES KAFKA AND ORACLE HANDSON PART 2 – MORE COMPLEX SCENARIOS AND SOME BACKGROUND & ADMIN
  • 47. HANDS ON PART 2 • Continue part 1 • Java and/or Node consuming/producing • Some Admin & advanced stuff • Partitions • Multiple producers, multiple consumers • New consumer, go back in time • Expiration of messages • Multi-broker, Cluster configuration, ZooKeeper
  • 48. • Resources: https://github.com/MaartenSmeets/kafka-workshop • Blog: technology.amis.nl On Oracle, Cloud, SQL, PL/SQL, Java, JavaScript, Continuous Delivery, SOA, BPM & more • Email: maarten.smeets@amis.nl , lucas.jellema@amis.nl • : @MaartenSmeetsNL , @lucasjellema • : smeetsm , lucas-jellema • : www.amis.nl, info@amis.nl +31 306016000 Edisonbaan 15, Nieuwegein

Hinweis der Redaktion

  1. http://stackoverflow.com/questions/35861501/kafka-in-docker-not-working Docker images from Confluent: https://hub.docker.com/r/confluent/kafka/
  2. http://docs.confluent.io/2.0.0/platform.html
  3. http://docs.confluent.io/2.0.0/platform.html https://www.confluent.io/blog/apache-kafka-getting-started/