SlideShare ist ein Scribd-Unternehmen logo
1 von 50
What is Apache
Kafka & Why is
it important to
Oracle & Java &
IT
professionals?
The Event Fabric –
bringing IT together
What is Apache Kafka & Why is it important
µ
µ
Lucas Jellema, CTO of AMIS
Oracle Groundbreakers APAC Tour
Tokyo, November 13th 2018
Lucas Jellema
Architect / Developer
1994 started in IT at Oracle
2002 joined AMIS
Currently CTO & Solution Architect
What is Apache Kafka & Why is it important
こんばんは
It would be so nice if I could
publish my ideas and actions,
accessible near instantly for
everyone who is interested
Heck, I do not even know these people
and they may not know me [personally]
– just my pearls of wisdom. And if they
are late to the party, they can also
check out the historic archives of my
eloquence
Without fretting about the numbers of
readers involved and whether they are
in the same time zone as me and online
when I publish my messages – and
which device they use
It would be so nice if I could
publish my ideas and actions,
accessible near instantly for
everyone who is interested
Heck, I do not even know these people
and they may not know me [personally]
– just my pearls of wisdom. And if they
are late to the party, they can also
check out the historic archives of my
eloquence
Without fretting about the numbers of
readers involved and whether they are
in the same time zone as me and online
when I publish my messages – and
which device they use
• Decoupled communication
• 0, 1 or many followers
• Scalable number of messages (and parties)
• Reliable (mostly available, few messages lost)
• Full history
• Open: cross device, cross location
• Not Sub-second, near real-time fast
• Rate limited (#messages/minute)
• Size limited (140-280 characters)
• Format limited (text)
• Not for private interactions
• Not (really) for programmatic use
What is Apache Kafka & Why is it important
MongoDB
ORDERS
Oracle Database
DVX_ORDERS
What is Apache Kafka & Why is it important
7
MongoDB
ORDERS
Oracle Database
DVX_ORDERS
What is Apache Kafka & Why is it important
µLocally running
Node application
µ Oracle Application
Container Cloud
8
MongoDB
ORDERS
Oracle Database
DVX_ORDERS
What does the Twitter for System Driven Event Interaction
look like?
What is Apache Kafka & Why is it important
• Decoupled communication – organized per topic
• 0, 1 or many Consumers per Topic
• Scalable number of messages (and parties)
• Reliable (distributed)
• Full history
• Open: libraries in many technologie & REST APIs
What is Apache Kafka & Why is it important
µ Oracle Application
Container Cloud
µLocally running
Node application
Oracle Event Hub
MongoDB
ORDERS
Oracle Database
DVX_ORDERS
What does the Twitter for System Driven Event Interaction
look like?
What is Apache Kafka & Why is it important
• Decoupled communication – organized per topic
• 0, 1 or many Consumers per Topic
• Scalable number of messages (and parties)
• Reliable (distributed)
• Full history
• Open: libraries in many technologie & REST APIs
• Near real-time fast
• No Rate Limit
• No enforced size limit
• Anything goes (it’s all byte[])
• On premises or in cloud, private or trusted
• Very much for programmatic use
What is Apache Kafka & Why is it important
Products
Data Manipulation
Data
Retrieval
What is Apache Kafka & Why is it important
Special
Products
Product
Clusters
ProductsData Manipulation
Data Retrieval
Food
Stuff
Toys
Quick Product
Search Index
Product Store in
SaaS app
CQRS = Command Query Responsibility Segregation
Comand Query Responsbility Segregation = CQRS
What is Apache Kafka & Why is it important
Special
Products
Product Clusters
ProductsData Manipulation
Data Retrieval
Food Stuff
Toys
Quick Product Search
Index
Product Store in
SaaS app
Detect changes
Extract Data
Events
Producers
Consumers
Robust, Scalable, Fast,
History Retention
Containerized/Cloud-
enabled
Open
What is Apache Kafka & Why is it important
Messaging as we know it
• JMS, Oracle Advanced Queuing, IBM MQ, MS MQ, RabbitMQ, MQTT,
XMPP, WebSockets, Apache Active MQ, AMQP , …
• 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
What is Apache Kafka & Why is it important
Introducing Apache Kafka
• ..- 2010 – creation at Linkedin
• Message Bus | Event Broker
• High volume, low latency, highly reliable, cross technology
• Scalable, distributed, strict message ordering, ….
• 2011/2012 – open source under the Apache Incubator/ Top Project
• Kafka is used by many large corporations:
• Walmart, Cisco, Netflix, PayPal, LinkedIn, eBay, Spotify, Uber, Sift
Science, Zalando, The New York Times, Airbnb, Coursera, ING Bank,…
• And embraced by many software vendors & cloud providers
• Client libraries available for Node, Java, C/C++, Python, Ruby, PHP, Go,
Rust, .NET, Perl, Scala DSL, Clojure, Swift and more
• Commercial backing by and Enterprise support from Confluent
What is Apache Kafka & Why is it important
Producers
Consumers
tcp
tcp
What is Apache Kafka & Why is it important
Producers
Consumers
Topic
What is Apache Kafka & Why is it important
Kafka terminology
• Topic
• Message
• == ByteArray
• Broker
• Producer
• Consumer
Producer Consumer
Topic
Broker
Key
Value
Time
Message
What is Apache Kafka & Why is it important
Producers
Consumers
Topic
Broker
Key
Value
Time
What is Apache Kafka & Why is it important
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
What is Apache Kafka & Why is it important
Producers
Consumers
Topic
Broker
Key
Value
Time
What is Apache Kafka & Why is it important
Producers
Consumers
Topic
Broker
tcp
tcp
Consumer Group
Partition
What is Apache Kafka & Why is it important
What’s so special?
• Durable
• Scalable
• High volume
• High speed
• Available
• Distributed
• Open
• Quick start
• Free (no license costs)
• “Self Fulfilling Prophecy”
(positive feedback loop feeding from buzz around Kafka)
• Eco system, tools/libraries/resources, cloud services
What is Apache Kafka & Why is it important
Ecosystem – Kafka and Friends
• Clients
• CLI
• Java, Node/JavaScript, C/C++, Python, Go, Rust, .NET, Ruby, Clojure, Perl, …
• REST Proxy
• Kafka Schema Registry
• Kafka Connect – read data and change events from many sources and/or write
to many targets
• Also see Debezium
• Kafka Streams
• Kafka KSQL
What is Apache Kafka & Why is it important
Tweet!
#codeone
What is Apache Kafka & Why is it important
Select from <stream of tweet events>
select text
, author
, timestamp
from tweets
Where tag = 'codeone'
<--- streaming data
What is Apache Kafka & Why is it important
Select Running Count
from <stream of tweet events>
select tag
, count(*) tweet_count
from tweets
group
by tag
What is Apache Kafka & Why is it important
Tweets on
#CodeOne #java
#oraclecode
Tweets
Topic
Oracle Cloud
Event HubApplication
Container
TWEET_COUNT
Topic
Running
Tweets
Aggregation
Client
Client
Client
Client
IoT metrics from
hundreds of devices
User actions & click
events from webshop
Live Traffic EventsMicroservices chatter
Social Media events
(Facebook,
Whatsapp, …)
IT Operations –
monitoring metrics
µ
µ
µ
µ
What is Apache Kafka & Why is it important
Tweets on #JEEConf
#java #oraclecode
Tweets
Topic
Oracle Cloud
Event HubApplication
Container
TWEET_COUNT
Topic
Running
Tweets
Aggregation
Client
Client
Client
Client
IoT metrics from
hundreds of devices
User actions & click
events from webshop
Live Traffic EventsMicroservices chatter
Social Media events
(Facebook,
Whatsapp, …)
IT Operations –
monitoring metrics
µ
µ
µ
µ
What is Apache Kafka & Why is it important
Final Demo
• Microservice
What is Apache Kafka & Why is it important
Microservices
• Agile | Flexible | Scalable | (Re)Deployable
• Independent | Decoupled | Isolated
• Communicate asynchronously, via events
• Have their own private bounded context
– the data they require to function
• Their lifeblood
What is Apache Kafka & Why is it important
The Microservice
API
HTTP REST/JSON
What is Apache Kafka & Why is it important
Extended API of microservice
• Deployment API
• Injectable dependencies – reference to cache, logging, storage URL, …
• Configurable meta-data – run time parameters, log level, credential (key)
• Interaction API
• REST Resources & Operations – query and URL parameters, message formats
• Events Consumed – alternative way to call | activate a microservice
• Reference to entry in Event Catalog
• May include reference to shared Cache Resource
• Events Produced – alternative output from microservice
• Event can be an asynchronous response to a stateless consumer
API
What is Apache Kafka & Why is it important
Microservices State
Cache
RDBMS
Document
Store
NoSQL
Generic Platform for running microservices
Event Hub
Big Data
Block
Storage
LDAP
What is Apache Kafka & Why is it important
Bounded context of microservices
• A micoservice needs to be able to run independently
• It needs to contain & own all data required to run
• It cannot depend on other microservices
API
Customer
APIUI
OrderCustomerModified event
What is Apache Kafka & Why is it important
Order Microservice
Demo – Maintaining Derived Data in Bounded Context using
Data Change Events communicated cross cloud over Kafka
What is Apache Kafka & Why is it important
Application
Container
Customer Microservice
Customers
Topic
Event Hub
Application
Container
DBaaS
Use cases for events
• Data Synchronization, (near real-time) replication, CQRS
• Event Sourcing
• Microservices
• Decoupled interaction
• Workflow & collaboration
• Bounded Context synchronization
• Serverless Functions
• Fast and Streaming Data – for example from IoT
• (near) Real Time User Interfaces
• with SSE WebSocket based push to browser or mobile push notifications
• …
What is Apache Kafka & Why is it important
Getting Started with Apache Kafka
• Get Access to an Apache Kafka Cluster environment
• Download, Install, Configure and Run
• Pull and Run a Docker Container (optionally on a Kubernetes cluster)
• Sign up for a Managed Apache Kafka Cloud Service (e.g. Oracle Event Hub)
• Configure Topic(s) & Partition(s) (optional)
• Get an Apache Kafka Client Library
• For Java, Spring Boot, Node, Python, …
• Or expose Apache Kafka REST Proxy service
• Develop Client Application to
• Produce Events to Kafka Topic
• Consume Events from Kafka Topic
• Optionally
• Use Schema Registry to design, publish and enforce event payload structure
• Use Kafka Connect[ors] to integrate with specific source or sink technology
• Use tooling for monitoring, tuning, reporting, administration, …
What is Apache Kafka & Why is it important
Topic
Develop Client Applications
• Leveraging a precreated Event Hub Managed Kafka Topic in the cloud
• Simple Node client
• To publish message to Apache Kafka
• using kafka-node npm module
• Simple Java client
• To consume messages from Apache Kafka
• using org.apache.kafka.kafka_2.12 Maven dependency
What is Apache Kafka & Why is it important
Topic
Kafka Node Client Producer
• package.json
• npm install
What is Apache Kafka & Why is it important
Kafka Node Client (2)
Kafka Node Client (3)
• Run
Kafka Java Client - Consumer
• mvn init
• pom.xml
What is Apache Kafka & Why is it important
Kafka Java Client - Consumer
What is Apache Kafka & Why is it important
Kafka Java Client – Consumer (3)
• Run
What is Apache Kafka & Why is it important
Oracle embracing Apache Kafka
• Event Hub Cloud Service = Managed Apache Kafka platform
• Managed Topics have been announced too
• Oracle Cloud Infrastructure: Telemetry & Streaming
• Read from Kafka Topic in Oracle Database SQL queries
• And publish to Kafka Topic from Oracle Database PL/SQL
• Kafka as source for Data Integration Platform (Golden Gate and ODI)
• Data Pipeline with Data Hub (Apache Cassandra) & Event Hub
• Oracle Service Bus Kafka Adapter
• Integration Cloud
• Stream Analytics (aka Stream Explorer fka Oracle Event Processor)
• Oracle Native Container and Microservices Platform
• Fn Serverless Platform – triggered by and publishing to
• Visual Builder & JET - real time push based on Apache Kafka
• In general – the bridge between on premises  [public] Cloud
What is Apache Kafka & Why is it important
Summary
• => == =>
• Apache Kafka is emerging as platform of choice for message exchange in a world of
• Microservices
• CQRS and Data Source Synchronization
• Clouds
• Fast Data (IoT) and Streaming Analysis
• Real time data integration & distribution
• Oracle is rapidly embracing Apache Kafka on various levels
• Getting started with Apache Kafka is not very hard at all
• The platform is open source – and has broad client support (Java, Node, …)
• Many resources are available – tutorials, blog article, demonstrations, presentation
slides and recordings of conference sessions, samples on GitHub
What is Apache Kafka & Why is it important
Thank you!
ありがとうございました
• Blog: technology.amis.nl
• Email: lucas.jellema@amis.nl
• : @lucasjellema
• : lucas-jellema
• : www.amis.nl, info@amis.nl

Weitere ähnliche Inhalte

Was ist angesagt?

WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2
 
Kakfa summit london 2019 - the art of the event-streaming app
Kakfa summit london 2019 - the art of the event-streaming appKakfa summit london 2019 - the art of the event-streaming app
Kakfa summit london 2019 - the art of the event-streaming app
Neil Avery
 
Can Apache Kafka Replace a Database?
Can Apache Kafka Replace a Database?Can Apache Kafka Replace a Database?
Can Apache Kafka Replace a Database?
Kai Wähner
 

Was ist angesagt? (20)

The Event Mesh: real-time, event-driven, responsive APIs and beyond
The Event Mesh: real-time, event-driven, responsive APIs and beyondThe Event Mesh: real-time, event-driven, responsive APIs and beyond
The Event Mesh: real-time, event-driven, responsive APIs and beyond
 
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
 
The eBay Architecture: Striking a Balance between Site Stability, Feature Ve...
The eBay Architecture:  Striking a Balance between Site Stability, Feature Ve...The eBay Architecture:  Striking a Balance between Site Stability, Feature Ve...
The eBay Architecture: Striking a Balance between Site Stability, Feature Ve...
 
Apache Flink, AWS Kinesis, Analytics
Apache Flink, AWS Kinesis, Analytics Apache Flink, AWS Kinesis, Analytics
Apache Flink, AWS Kinesis, Analytics
 
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
 
Microservices with Kafka Ecosystem
Microservices with Kafka EcosystemMicroservices with Kafka Ecosystem
Microservices with Kafka Ecosystem
 
Mainframe Modernization with Precisely and Microsoft Azure
Mainframe Modernization with Precisely and Microsoft AzureMainframe Modernization with Precisely and Microsoft Azure
Mainframe Modernization with Precisely and Microsoft Azure
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SRE
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
 
Cisco's MultiCloud Strategy
Cisco's MultiCloud StrategyCisco's MultiCloud Strategy
Cisco's MultiCloud Strategy
 
Implementing Microservices on Oracle Cloud: Open, Manageable, Polyglot, and S...
Implementing Microservices on Oracle Cloud: Open, Manageable, Polyglot, and S...Implementing Microservices on Oracle Cloud: Open, Manageable, Polyglot, and S...
Implementing Microservices on Oracle Cloud: Open, Manageable, Polyglot, and S...
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
 
Kakfa summit london 2019 - the art of the event-streaming app
Kakfa summit london 2019 - the art of the event-streaming appKakfa summit london 2019 - the art of the event-streaming app
Kakfa summit london 2019 - the art of the event-streaming app
 
Modernizing your Application Architecture with Microservices
Modernizing your Application Architecture with MicroservicesModernizing your Application Architecture with Microservices
Modernizing your Application Architecture with Microservices
 
Events Everywhere: Enabling Digital Transformation in the Public Sector
Events Everywhere: Enabling Digital Transformation in the Public SectorEvents Everywhere: Enabling Digital Transformation in the Public Sector
Events Everywhere: Enabling Digital Transformation in the Public Sector
 
Best Practices for Streaming IoT Data with MQTT and Apache Kafka
Best Practices for Streaming IoT Data with MQTT and Apache KafkaBest Practices for Streaming IoT Data with MQTT and Apache Kafka
Best Practices for Streaming IoT Data with MQTT and Apache Kafka
 
Oracle PaaS Cloud Preview Event
Oracle PaaS Cloud Preview EventOracle PaaS Cloud Preview Event
Oracle PaaS Cloud Preview Event
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...
AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...
AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubles...
 
Can Apache Kafka Replace a Database?
Can Apache Kafka Replace a Database?Can Apache Kafka Replace a Database?
Can Apache Kafka Replace a Database?
 

Ähnlich wie Introducing Apache Kafka and why it is important to Oracle, Java and IT professionals (Tokyo, 13th November 2018, Oracle Groundbreakers APAC tour

Big data conference europe real-time streaming in any and all clouds, hybri...
Big data conference europe   real-time streaming in any and all clouds, hybri...Big data conference europe   real-time streaming in any and all clouds, hybri...
Big data conference europe real-time streaming in any and all clouds, hybri...
Timothy Spann
 
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Thoughtworks
 

Ähnlich wie Introducing Apache Kafka and why it is important to Oracle, Java and IT professionals (Tokyo, 13th November 2018, Oracle Groundbreakers APAC tour (20)

What is Kafka & why is it Important? (UKOUG Tech17, Birmingham, UK - December...
What is Kafka & why is it Important? (UKOUG Tech17, Birmingham, UK - December...What is Kafka & why is it Important? (UKOUG Tech17, Birmingham, UK - December...
What is Kafka & why is it Important? (UKOUG Tech17, Birmingham, UK - December...
 
If You Have The Content, Then Apache Has The Technology!
If You Have The Content, Then Apache Has The Technology!If You Have The Content, Then Apache Has The Technology!
If You Have The Content, Then Apache Has The Technology!
 
Scala and Spark are Ideal for Big Data
Scala and Spark are Ideal for Big DataScala and Spark are Ideal for Big Data
Scala and Spark are Ideal for Big Data
 
Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar)
Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar) Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar)
Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar)
 
Music city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lakeMusic city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lake
 
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 !
 
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
 
Scala and Spark are Ideal for Big Data - Data Science Pop-up Seattle
Scala and Spark are Ideal for Big Data - Data Science Pop-up SeattleScala and Spark are Ideal for Big Data - Data Science Pop-up Seattle
Scala and Spark are Ideal for Big Data - Data Science Pop-up Seattle
 
Apache Content Technologies
Apache Content TechnologiesApache Content Technologies
Apache Content Technologies
 
Big data conference europe real-time streaming in any and all clouds, hybri...
Big data conference europe   real-time streaming in any and all clouds, hybri...Big data conference europe   real-time streaming in any and all clouds, hybri...
Big data conference europe real-time streaming in any and all clouds, hybri...
 
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
Kinesis and Spark Streaming - Advanced AWS Meetup - August 2014
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Cloud lunch and learn real-time streaming in azure
Cloud lunch and learn real-time streaming in azureCloud lunch and learn real-time streaming in azure
Cloud lunch and learn real-time streaming in azure
 
Introduction to Kafka Streams - Knolx.pdf
Introduction to Kafka Streams - Knolx.pdfIntroduction to Kafka Streams - Knolx.pdf
Introduction to Kafka Streams - Knolx.pdf
 
Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big data pipeline with scala by Rohit Rai, Tuplejump - presented at Pune Scal...
 
Big Data pipeline with Scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big Data pipeline with Scala by Rohit Rai, Tuplejump - presented at Pune Scal...Big Data pipeline with Scala by Rohit Rai, Tuplejump - presented at Pune Scal...
Big Data pipeline with Scala by Rohit Rai, Tuplejump - presented at Pune Scal...
 
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
 
Scenic City Summit (2021): Real-Time Streaming in any and all clouds, hybrid...
Scenic City Summit (2021):  Real-Time Streaming in any and all clouds, hybrid...Scenic City Summit (2021):  Real-Time Streaming in any and all clouds, hybrid...
Scenic City Summit (2021): Real-Time Streaming in any and all clouds, hybrid...
 

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
 
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
 
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
 
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
 
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

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Kürzlich hochgeladen (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

Introducing Apache Kafka and why it is important to Oracle, Java and IT professionals (Tokyo, 13th November 2018, Oracle Groundbreakers APAC tour

  • 1. What is Apache Kafka & Why is it important to Oracle & Java & IT professionals? The Event Fabric – bringing IT together What is Apache Kafka & Why is it important µ µ Lucas Jellema, CTO of AMIS Oracle Groundbreakers APAC Tour Tokyo, November 13th 2018
  • 2. Lucas Jellema Architect / Developer 1994 started in IT at Oracle 2002 joined AMIS Currently CTO & Solution Architect What is Apache Kafka & Why is it important こんばんは
  • 3. It would be so nice if I could publish my ideas and actions, accessible near instantly for everyone who is interested Heck, I do not even know these people and they may not know me [personally] – just my pearls of wisdom. And if they are late to the party, they can also check out the historic archives of my eloquence Without fretting about the numbers of readers involved and whether they are in the same time zone as me and online when I publish my messages – and which device they use
  • 4. It would be so nice if I could publish my ideas and actions, accessible near instantly for everyone who is interested Heck, I do not even know these people and they may not know me [personally] – just my pearls of wisdom. And if they are late to the party, they can also check out the historic archives of my eloquence Without fretting about the numbers of readers involved and whether they are in the same time zone as me and online when I publish my messages – and which device they use
  • 5. • Decoupled communication • 0, 1 or many followers • Scalable number of messages (and parties) • Reliable (mostly available, few messages lost) • Full history • Open: cross device, cross location • Not Sub-second, near real-time fast • Rate limited (#messages/minute) • Size limited (140-280 characters) • Format limited (text) • Not for private interactions • Not (really) for programmatic use
  • 6. What is Apache Kafka & Why is it important MongoDB ORDERS Oracle Database DVX_ORDERS
  • 7. What is Apache Kafka & Why is it important 7 MongoDB ORDERS Oracle Database DVX_ORDERS
  • 8. What is Apache Kafka & Why is it important µLocally running Node application µ Oracle Application Container Cloud 8 MongoDB ORDERS Oracle Database DVX_ORDERS
  • 9. What does the Twitter for System Driven Event Interaction look like? What is Apache Kafka & Why is it important • Decoupled communication – organized per topic • 0, 1 or many Consumers per Topic • Scalable number of messages (and parties) • Reliable (distributed) • Full history • Open: libraries in many technologie & REST APIs
  • 10. What is Apache Kafka & Why is it important µ Oracle Application Container Cloud µLocally running Node application Oracle Event Hub MongoDB ORDERS Oracle Database DVX_ORDERS
  • 11. What does the Twitter for System Driven Event Interaction look like? What is Apache Kafka & Why is it important • Decoupled communication – organized per topic • 0, 1 or many Consumers per Topic • Scalable number of messages (and parties) • Reliable (distributed) • Full history • Open: libraries in many technologie & REST APIs • Near real-time fast • No Rate Limit • No enforced size limit • Anything goes (it’s all byte[]) • On premises or in cloud, private or trusted • Very much for programmatic use
  • 12. What is Apache Kafka & Why is it important Products Data Manipulation Data Retrieval
  • 13. What is Apache Kafka & Why is it important Special Products Product Clusters ProductsData Manipulation Data Retrieval Food Stuff Toys Quick Product Search Index Product Store in SaaS app CQRS = Command Query Responsibility Segregation
  • 14. Comand Query Responsbility Segregation = CQRS What is Apache Kafka & Why is it important Special Products Product Clusters ProductsData Manipulation Data Retrieval Food Stuff Toys Quick Product Search Index Product Store in SaaS app Detect changes Extract Data
  • 15. Events Producers Consumers Robust, Scalable, Fast, History Retention Containerized/Cloud- enabled Open What is Apache Kafka & Why is it important
  • 16. Messaging as we know it • JMS, Oracle Advanced Queuing, IBM MQ, MS MQ, RabbitMQ, MQTT, XMPP, WebSockets, Apache Active MQ, AMQP , … • 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 What is Apache Kafka & Why is it important
  • 17. Introducing Apache Kafka • ..- 2010 – creation at Linkedin • Message Bus | Event Broker • High volume, low latency, highly reliable, cross technology • Scalable, distributed, strict message ordering, …. • 2011/2012 – open source under the Apache Incubator/ Top Project • Kafka is used by many large corporations: • Walmart, Cisco, Netflix, PayPal, LinkedIn, eBay, Spotify, Uber, Sift Science, Zalando, The New York Times, Airbnb, Coursera, ING Bank,… • And embraced by many software vendors & cloud providers • Client libraries available for Node, Java, C/C++, Python, Ruby, PHP, Go, Rust, .NET, Perl, Scala DSL, Clojure, Swift and more • Commercial backing by and Enterprise support from Confluent What is Apache Kafka & Why is it important
  • 18. Producers Consumers tcp tcp What is Apache Kafka & Why is it important
  • 19. Producers Consumers Topic What is Apache Kafka & Why is it important
  • 20. Kafka terminology • Topic • Message • == ByteArray • Broker • Producer • Consumer Producer Consumer Topic Broker Key Value Time Message What is Apache Kafka & Why is it important
  • 22. 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 What is Apache Kafka & Why is it important
  • 25. What’s so special? • Durable • Scalable • High volume • High speed • Available • Distributed • Open • Quick start • Free (no license costs) • “Self Fulfilling Prophecy” (positive feedback loop feeding from buzz around Kafka) • Eco system, tools/libraries/resources, cloud services What is Apache Kafka & Why is it important
  • 26. Ecosystem – Kafka and Friends • Clients • CLI • Java, Node/JavaScript, C/C++, Python, Go, Rust, .NET, Ruby, Clojure, Perl, … • REST Proxy • Kafka Schema Registry • Kafka Connect – read data and change events from many sources and/or write to many targets • Also see Debezium • Kafka Streams • Kafka KSQL What is Apache Kafka & Why is it important
  • 27. Tweet! #codeone What is Apache Kafka & Why is it important
  • 28. Select from <stream of tweet events> select text , author , timestamp from tweets Where tag = 'codeone' <--- streaming data What is Apache Kafka & Why is it important
  • 29. Select Running Count from <stream of tweet events> select tag , count(*) tweet_count from tweets group by tag What is Apache Kafka & Why is it important
  • 30. Tweets on #CodeOne #java #oraclecode Tweets Topic Oracle Cloud Event HubApplication Container TWEET_COUNT Topic Running Tweets Aggregation Client Client Client Client IoT metrics from hundreds of devices User actions & click events from webshop Live Traffic EventsMicroservices chatter Social Media events (Facebook, Whatsapp, …) IT Operations – monitoring metrics µ µ µ µ What is Apache Kafka & Why is it important
  • 31. Tweets on #JEEConf #java #oraclecode Tweets Topic Oracle Cloud Event HubApplication Container TWEET_COUNT Topic Running Tweets Aggregation Client Client Client Client IoT metrics from hundreds of devices User actions & click events from webshop Live Traffic EventsMicroservices chatter Social Media events (Facebook, Whatsapp, …) IT Operations – monitoring metrics µ µ µ µ What is Apache Kafka & Why is it important
  • 32. Final Demo • Microservice What is Apache Kafka & Why is it important
  • 33. Microservices • Agile | Flexible | Scalable | (Re)Deployable • Independent | Decoupled | Isolated • Communicate asynchronously, via events • Have their own private bounded context – the data they require to function • Their lifeblood What is Apache Kafka & Why is it important
  • 34. The Microservice API HTTP REST/JSON What is Apache Kafka & Why is it important
  • 35. Extended API of microservice • Deployment API • Injectable dependencies – reference to cache, logging, storage URL, … • Configurable meta-data – run time parameters, log level, credential (key) • Interaction API • REST Resources & Operations – query and URL parameters, message formats • Events Consumed – alternative way to call | activate a microservice • Reference to entry in Event Catalog • May include reference to shared Cache Resource • Events Produced – alternative output from microservice • Event can be an asynchronous response to a stateless consumer API What is Apache Kafka & Why is it important
  • 36. Microservices State Cache RDBMS Document Store NoSQL Generic Platform for running microservices Event Hub Big Data Block Storage LDAP What is Apache Kafka & Why is it important
  • 37. Bounded context of microservices • A micoservice needs to be able to run independently • It needs to contain & own all data required to run • It cannot depend on other microservices API Customer APIUI OrderCustomerModified event What is Apache Kafka & Why is it important
  • 38. Order Microservice Demo – Maintaining Derived Data in Bounded Context using Data Change Events communicated cross cloud over Kafka What is Apache Kafka & Why is it important Application Container Customer Microservice Customers Topic Event Hub Application Container DBaaS
  • 39. Use cases for events • Data Synchronization, (near real-time) replication, CQRS • Event Sourcing • Microservices • Decoupled interaction • Workflow & collaboration • Bounded Context synchronization • Serverless Functions • Fast and Streaming Data – for example from IoT • (near) Real Time User Interfaces • with SSE WebSocket based push to browser or mobile push notifications • … What is Apache Kafka & Why is it important
  • 40. Getting Started with Apache Kafka • Get Access to an Apache Kafka Cluster environment • Download, Install, Configure and Run • Pull and Run a Docker Container (optionally on a Kubernetes cluster) • Sign up for a Managed Apache Kafka Cloud Service (e.g. Oracle Event Hub) • Configure Topic(s) & Partition(s) (optional) • Get an Apache Kafka Client Library • For Java, Spring Boot, Node, Python, … • Or expose Apache Kafka REST Proxy service • Develop Client Application to • Produce Events to Kafka Topic • Consume Events from Kafka Topic • Optionally • Use Schema Registry to design, publish and enforce event payload structure • Use Kafka Connect[ors] to integrate with specific source or sink technology • Use tooling for monitoring, tuning, reporting, administration, … What is Apache Kafka & Why is it important Topic
  • 41. Develop Client Applications • Leveraging a precreated Event Hub Managed Kafka Topic in the cloud • Simple Node client • To publish message to Apache Kafka • using kafka-node npm module • Simple Java client • To consume messages from Apache Kafka • using org.apache.kafka.kafka_2.12 Maven dependency What is Apache Kafka & Why is it important Topic
  • 42. Kafka Node Client Producer • package.json • npm install What is Apache Kafka & Why is it important
  • 44. Kafka Node Client (3) • Run
  • 45. Kafka Java Client - Consumer • mvn init • pom.xml What is Apache Kafka & Why is it important
  • 46. Kafka Java Client - Consumer What is Apache Kafka & Why is it important
  • 47. Kafka Java Client – Consumer (3) • Run What is Apache Kafka & Why is it important
  • 48. Oracle embracing Apache Kafka • Event Hub Cloud Service = Managed Apache Kafka platform • Managed Topics have been announced too • Oracle Cloud Infrastructure: Telemetry & Streaming • Read from Kafka Topic in Oracle Database SQL queries • And publish to Kafka Topic from Oracle Database PL/SQL • Kafka as source for Data Integration Platform (Golden Gate and ODI) • Data Pipeline with Data Hub (Apache Cassandra) & Event Hub • Oracle Service Bus Kafka Adapter • Integration Cloud • Stream Analytics (aka Stream Explorer fka Oracle Event Processor) • Oracle Native Container and Microservices Platform • Fn Serverless Platform – triggered by and publishing to • Visual Builder & JET - real time push based on Apache Kafka • In general – the bridge between on premises  [public] Cloud What is Apache Kafka & Why is it important
  • 49. Summary • => == => • Apache Kafka is emerging as platform of choice for message exchange in a world of • Microservices • CQRS and Data Source Synchronization • Clouds • Fast Data (IoT) and Streaming Analysis • Real time data integration & distribution • Oracle is rapidly embracing Apache Kafka on various levels • Getting started with Apache Kafka is not very hard at all • The platform is open source – and has broad client support (Java, Node, …) • Many resources are available – tutorials, blog article, demonstrations, presentation slides and recordings of conference sessions, samples on GitHub What is Apache Kafka & Why is it important
  • 50. Thank you! ありがとうございました • Blog: technology.amis.nl • Email: lucas.jellema@amis.nl • : @lucasjellema • : lucas-jellema • : www.amis.nl, info@amis.nl

Hinweis der Redaktion

  1. What is Apache Kafka & why is it Important to Oracle professionals? Events are playing an increasingly important role in modern application architecture. They represent fast, streaming data, they fuel the interaction between microservices, they are at the core of CQRS and event sourcing. Apache Kafka has quickly emerged as the de facto standard event platform: open source, cross technology, reliable and extremely scalable and available on any platform, in Docker and from the major cloud platforms- including Oracle Cloud’s Event Hub service. This session explains the what, why and how of Apache Kafka. What role does it play, how is it used and what are challenges and tricks for real life applications. How does it fit in with Oracle Database and Fusion Middleware and with Oracle Public Cloud? In several demos, Kafka is seen at work - in real time streaming event analysis through KSQL, in CQRS and microservices scenarios and with user interfaces updated in real time through events and HTML5 server sent events. This presentation includes a demonstration of remote database synchronization through Twitter.
  2. Data manipulation and retrieval in separate places (physical data proliferation) Query store is optimized for consumers Level of detail, format, filters applied For performance and scalability, independence, productivity lower license fees and lower TCO, security
  3. No Event Sourcing No events (?) No green field Packages Applications/SaaS Databases (RDBMS, NoSQL) getting changes from applications directly Challenges – at scale, with enough speed and consistently: do not let query store get into an exposed state that could not exist/be right! Detect relevant changes Extract relevant changes Transport Convert Apply in correct order and reliably (no lost events) Note: after detect and extract, an event can be published
  4. All data stores are distributed Or at least distributedly available They can be local or on cloud (latency is important) Data in generic data store is still owned by only one microservice – no one can touch it Only in DWH and BigData do we deliberately take copies of data and disown them
  5. Arigato-gozaimasta Arigatōgozaimashita