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

Lucas Jellema
Lucas JellemaCTO at AMIS
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
1 of 48

More Related Content

What's hot(20)

Apache KafkaApache Kafka
Apache Kafka
Joe Stein23.8K views
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
Shiao-An Yuan1.6K views
Introduction Apache KafkaIntroduction Apache Kafka
Introduction Apache Kafka
Joe Stein5.1K views
kafka for db as postgreskafka for db as postgres
kafka for db as postgres
PivotalOpenSourceHub4.2K views
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache Kafka
Amir Sedighi2.7K views
Design Patterns for working with Fast DataDesign Patterns for working with Fast Data
Design Patterns for working with Fast Data
MapR Technologies1.6K views
Introduction to KafkaIntroduction to Kafka
Introduction to Kafka
Ducas Francis1.4K views
Apache Kafka - Free FridayApache Kafka - Free Friday
Apache Kafka - Free Friday
Otávio Carvalho621 views
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin Podval
Martin Podval3.4K views
Kafka blr-meetup-presentation - Kafka internalsKafka blr-meetup-presentation - Kafka internals
Kafka blr-meetup-presentation - Kafka internals
Ayyappadas Ravindran (Appu)1.4K views
Apache Kafka Best PracticesApache Kafka Best Practices
Apache Kafka Best Practices
DataWorks Summit/Hadoop Summit66K views
Kafka 101Kafka 101
Kafka 101
Clement Demonchy2.4K views
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
AIMDek Technologies 1.8K views
Kafka internalsKafka internals
Kafka internals
David Groozman6K views
Apache kafkaApache kafka
Apache kafka
Rahul Jain24.2K views
Devoxx Morocco 2016 - Microservices with KafkaDevoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with Kafka
László-Róbert Albert862 views
Introduction to Apache Kafka- Part 1Introduction to Apache Kafka- Part 1
Introduction to Apache Kafka- Part 1
Knoldus Inc.4.1K views

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

Kafka tutorialKafka tutorial
Kafka tutorialSrikrishna k
392 views14 slides
Apache kafkaApache kafka
Apache kafkaSrikrishna k
288 views14 slides

Similar to AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message Queue(20)

More from Lucas Jellema(20)

Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
Lucas Jellema50 views
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
Lucas Jellema69 views

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

Editor's Notes

  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/