SlideShare une entreprise Scribd logo
1  sur  60
Learn Kafka and event-driven
architecture
Vinay Kumar
@vinaykuma201
• ORACLE ACE
• Global Integration Architect
• Author of “Beginning Oracle WebCenter portal 12c”
• Blogger- http://www.techartifact.com/blogs
• https://www.linkedin.com/in/vinaykumar2/
2
About me
Agenda
4
• Interaction Style
• Traditional SOA approach
• Event driven Architecture
• Event with Microservices
• Event streaming with event Hub
• Integration with legacy.
• Kafka
• Kafka internals
• Async APIs
Communication Styles
5
Type of Interaction Initiator Participants
Time-driven Time The specifice system
Request-driven Client Client & Server
Event-driven event Open-ended
Time Driven
6
Store System
Run in every 30 min
to check the
inventory
Request-driven
7
Event-driven
8
Store System
“Inventory updated”
“Inventory is low”
9Document Title - Name - Function - Business Unit DD/MM/YYYY
Event Notification
• Anything happened (or didnt happen).
• A change in the state.
• An event is always named in the past tense and is immutabled
• A condition that triggers a notification.
CustomerAddressChanged
InventoryUpdated
SalesOrderCreated
PurschaseOrderCreated
10
Events
• “Real-time” events as they happen at the producer
• Push notifications
• One-way “fire-and-forget”
• Immediate action at the consumers
• Informational (“someone logged in”), not commands (“audit this”)
11
Characterstics of Events
Typical EDA Architecture
Event Bus
System SystemSystem
System System System
Event Producers
Event Transport
Event Consumer
• Supports the business demands for better service (no
batch, less waiting)
• No point-to-point integrations (fire & forget)
• Fault tolerance, scalability, versatility, and other benefits of
loose coupling.
• Powerful real-time response and analytics.
• Greater operational efficiencies
13
benefits of EDA
Where we do come from?
1
4
15Document Title - Name - Function - Business Unit DD/MM/YYYY
Monolithic
Shop
Customer
Customer
Inventory
Payment
Might be individual bounded
context in new world
16Document Title - Name - Function - Business Unit DD/MM/YYYY
Traditional Archiecture (Point to Point)
Shop
Customer
MarketingInventory
Payment Reporting
Inventory
17Document Title - Name - Function - Business Unit DD/MM/YYYY
Traditional Archiecture- ESB
Shop
Customer
MarketingInventory
Payment Reporting
Enterprise Service Bus
18Document Title - Name - Function - Business Unit DD/MM/YYYY
Traditional Archiecture- ESB
Shop
Customer
MarketingInventory
Payment Reporting
Lets add
some fraud
check and
new
version
V1
V2
Enterprise Service Bus
fraud
fraud
19Document Title - Name - Function - Business Unit DD/MM/YYYY
Lets add loyalty features
Shop
Customer
MarketingInventory
Payment Reporting
V1
V2
Enterprise Service Bus
fraud
fraud
Loyalty
20Document Title - Name - Function - Business Unit DD/MM/YYYY
When we scale up and see Integration ripple effect
Shop
Customer
MarketingInventory
Payment Reporting
V1
V2
Enterprise Service Bus
fraud
fraud
Loyalty
Loyalty
• SOA is all about dividing domain logic into separate systems and
exposing it as services
• In some cases business logic will, by its very nature, be spread out
over many systems or across various domain (cross domain).
• The result is domain pollution and bloat in the SOA systems.
Whats the problem
22Document Title - Name - Function - Business Unit DD/MM/YYYY
• Domain driven design promote the business logic to expose as a
service and focus should be on domain and domain logic.
• Domain event is an activity happened that domain expert is concerned.
• By exposing relevant Domain Events on a shared event bus we can
isolate cross cutting functions to separate systems
SOA and Domain events
SOA + Domain events
Shop
Customer
Marketing
Reporting
Inventory
Payment
Event
Bus
Loyalty
Fraud
BAM
“You make me complete”
SOA EDA
Event Driven (Async) in Microservices
Shop DBShop logicShop API
Customer DBCustomer logicCustomer API
Payment DBPayment logicPayment API
Event Hub
Shop Microservices
Payment Microservices
Customer Microservices
Producer,
Consumer
Consumer
Consumer
27Document Title - Name - Function - Business Unit DD/MM/YYYY
Event Streaming Data Source
Shop DBShop logicShop API
Customer DBCustomer logicCustomer API
Payment DBPayment logicPayment API
Event Hub
Shop Microservices
Payment Microservices
Customer Microservices
Producer,
Consumer
Consumer
Consumer
Mobile AppsSocial Media
Stocks Blockchain
Location IOT
Events Streaming
28Document Title - Name - Function - Business Unit DD/MM/YYYY
Microservice events and Streaming processing
StateMicroserviceAPI
Microservices Cluster
Mobile AppsSocial Media
Stocks Blockchain
Location IOT
Events Stream
Event
Hub
Events Stream
Stream Processing
Cluster
Stream
Analytics
dashboard
Events Stream
Reference
Model
Results
BI tools
Search/Discover
Mobile &
online apps
SQL
Service
Service
Service
• Domain event- In domain-driven design, domain events are described as something that happens in the domain and is important
to domain experts.
- A user has registered
- An order has been cancelled.
- The payment has been received
Domain events are relevant both within a bounded context and across bounded contexts for implementing processes within the
domain.
Best for communication between bounded context.
29Document Title - Name - Function - Business Unit DD/MM/YYYY
Domain event and event sourcing
■ Event Sourcing - Event Sourcing ensures that all changes to application state are stored as a sequence of events. It store
the events that lead to specific state and state too.
- MobileNumberProvided (MobileNumber)
- VerificationCodeGenerated (VerificationCode)
- MobileNumberValidated (no additional state)
- UserDetailsProvided (FullName, Address, …)
These events are sufficient to reconstruct the current state of the UserRegistration aggregate at any time.
Event Sourcing is for persistent strategy. Event Sourcing makes it easier to fix inconsistencies. Event Sourcing is local for a
domain.
Why Kafka for event-driven?
3
0
31Document Title - Name - Function - Business Unit DD/MM/YYYY
32Document Title - Name - Function - Business Unit DD/MM/YYYY
Kafka Overview
• Distributed publish-subscribe messaging system.
• Designed for processing of real time activity stream data (log,
metrics, collections, social media streams,…..)
• Does not use JMS API and standards
• Kafka maintains feeds of message in topics
• Initially developed at Linkedin, now part of Apache.
33Document Title - Name - Function - Business Unit DD/MM/YYYY
Kafka History
• Reliability. Kafka is distributed, partitioned, replicated, and fault tolerant. Kafka
replicates data and is able to support multiple subscribers. Additionally, it
automatically balances consumers in the event of failure.
• Scalability. Kafka is a distributed system that scales quickly and easily without
incurring any downtime.
• Durability. Kafka uses a distributed commit log, which means messages persists
on disk as fast as possible providing intra-cluster replication, hence it is durable.
• Performance. Kafka has high throughput for both publishing and subscribing
messages. It maintains stable performance even when dealing with many terabytes
of stored messages.
34Document Title - Name - Function - Business Unit DD/MM/YYYY
Benefits of Kafka
• Kafka is a messaging system that is designed to be fast, scalable, and durable.
• A producer is an entity/application that publishes data to a Kafka cluster, which is made up
of brokers.
• A Broker is responsible for receiving and storing the data when a producer publishes.
• A consumer then consumes data from a broker at a specified offset, i.e. position.
• A Topic is a category/feed name to which records are stored and published. Topics have partitions and
order guaranteed per partitions
• All Kafka records are organized into topics. Producer applications write data to topics and consumer
applications read from topics.
35Document Title - Name - Function - Business Unit DD/MM/YYYY
What is kafka
36Document Title - Name - Function - Business Unit DD/MM/YYYY
37Document Title - Name - Function - Business Unit DD/MM/YYYY
Kafka Architecture.
• Topic is divided in partitions.
• The message order is only guarantee inside a partition
• Consumer offsets are persisted by Kafka with a commit/auto-commit mechanism.
• Consumers subscribes to topics
• Consumers with different group-id receives all messages of the topics they subscribe.
They consume the messages at their own speed.
• Consumers sharing the same group-id will be assigned to one (or several) partition of the
topics they subscribe. They only receive messages from their partitions. So a constraint
appears here: the number of partitions in a topic gives the maximum number of parallel
consumers.
• The assignment of partitions to consumer can be automatic and performed by Kafka
(through Zookeeper). If a consumer stops polling or is too slow, a process call “re-
balancing” is performed and the partitions are re-assigned to other consumers.
38Document Title - Name - Function - Business Unit DD/MM/YYYY
Key Concepts of Kafka
• Kafka normally divides topic in multiply partitions.
• Each partition is an ordered, immutable sequence of messages that is continually appended to.
• A message in a partition is identified by a sequence number called offset.
• The FIFO is only guarantee inside a partition.
• When a topic is created, the number of partitions should be given
• The producer can choose which partition will get the message or let Kafka decides for him
based on a hash of the message key (recommended). So the message key is important and will
be the used to ensure the message order.
• Moreover, as the consumer will be assigned to one or several partition, the key will also “group”
messages to a same consumer.
39Document Title - Name - Function - Business Unit DD/MM/YYYY
Key Concepts of Kafka - continued
• A data source writes messages to
the log and one or more
consumers reads from the log at
the point in time they choose.
• In the diagram below a data source
is writing to the log and consumers
A and B are reading from the log at
different offsets.
40Document Title - Name - Function - Business Unit DD/MM/YYYY
Log Anatomy
• We have a broker with three topics, where each topic has 8 partitions.
• The producer sends a record to partition 1 in topic 1 and since the partition is empty
the record ends up at offset 0.
41Document Title - Name - Function - Business Unit DD/MM/YYYY
Record flow in Apache Kafka
• Next record is added to partition 1 will and up at offset 1, and the next record at offset
2 and so on.
• This is a commit log, each record is appended to the log and there is no way to
change the existing records in the log(immutable). This is also the same offset that
the consumer uses to specify where to start reading.
42Document Title - Name - Function - Business Unit DD/MM/YYYY
Record flow in Apache Kafka - continued
43Document Title - Name - Function - Business Unit DD/MM/YYYY
Apache Kafka Architecture
• Each broker holds a number of partitions and each of these partitions can be either a
leader or a replica for a topic.
• All writes and reads to a topic go through the leader and the leader coordinates updating
replicas with new data. If a leader fails, a replica takes over as the new leader.
44Document Title - Name - Function - Business Unit DD/MM/YYYY
Kafka - Partitions and Brokers
• Producers write to a single leader, this provides a means of load balancing production
so that each write can be serviced by a separate broker and machine.
• In the image, the producer is writing to partition 0 of the topic and partition 0
replicates that write to the available replicas.
45Document Title - Name - Function - Business Unit DD/MM/YYYY
Kafka – Producers writing to broker
46Document Title - Name - Function - Business Unit DD/MM/YYYY
Kafka Architecture- Topic Replication factor
• Producer is process that can publish a
message to a topic.
• Consumer is a process that can subscribe
to one or more topics and consume
messages published to topics.
• Topic category is the name of the feed to
which messages are published.
• Broker is a process running on single
machine
• Cluster is a group of brokers working
together.
• Broker management done by Zookeeper.
47Document Title - Name - Function - Business Unit DD/MM/YYYY
Flow of a record in Kafka
• Auto Scalable infrastructure.
• Multi language support (SDKs)
• Event Streaming Database
• GUI driven management and monitoring
• Enterprise Grade security
• Diagnostic Logs
• Data Monitor
• Global Resilience
• Disaster Recovery
• Connector with legacy application
• Retention management
• Flexible DevOps
• …..
Document Title - Name - Function - Business Unit DD/MM/YYYY
What are capabilites of events hub
• Traditional message broker (not really event driven)
49Document Title - Name - Function - Business Unit DD/MM/YYYY
Alternatives of event-hub or kafka?
50Document Title - Name - Function - Business Unit DD/MM/YYYY
What about legacy App?
RDBMS
Existing App
Event
Hub
New APPChange Data capture
• Attunity Replicate
• Debezium (open source)
• IBM IIDR
• Oracle GoldenGate for Big Data
• SQ Data
51Document Title - Name - Function - Business Unit DD/MM/YYYY
Change data capture tools
52Document Title - Name - Function - Business Unit DD/MM/YYYY
Microservice events and Streaming processing and legacy application
StateMicroserviceAPI
Microservices Cluster
Mobile AppsSocial Media
Stocks Blockchain
Location IOT
Events Stream
Event
Hub
Events Stream
Stream Processing
Cluster
Stream
Analytics
dashboard
Events Stream
Reference
Model
Results
BI tools
Search/Discover
Mobile &
online apps
SQL
Service
Service
Service
State
State
Finance Sales Audit
Change Data capture
Big Data
53Document Title - Name - Function - Business Unit DD/MM/YYYY
Integrate kafka with legacy
• JDBC connector for Kafka connect
• Use CDC (Change data capture) tool which integrates with kafka
connect.
• Kafka Connect is a tool for scalably and reliably streaming data between
Apache Kafka and other data systems.
Runs separately from Kafka brokers.
55Document Title - Name - Function - Business Unit DD/MM/YYYY
Kafka connect
• How do manage the event lifecycle?
• We have API management platform for APIs.
56Document Title - Name - Function - Business Unit DD/MM/YYYY
Async API - https://www.asyncapi.com/
Event lifecycle
- Design
- Documentation
- Code generation
- Event management
- Test
- Monitoring
An Async API document is a file that defines and annotates
the different components of a specific Event-Driven API.
57Document Title - Name - Function - Business Unit DD/MM/YYYY
OpenAPI- AsyncAPI comparison
Summary
5
8
• Make the split right – Bounded context.
• Events are the communication between bounded context.
• Event can be Async communication b/w microsevices.
• Kafka is great source for messaging.
• Event hub is key in new enterprise integration world.
• Use CDC for legacy integrationn.
• Try Async API for event documentation.
• https://www.slideshare.net/gschmutz/building-event-driven-microservices-with-apache-
kafka-208145957
• https://www.slideshare.net/jeppec/soa-and-event-driven-architecture-soa-
20?qid=604f3115-642b-48d4-b7ef-66ce11ab9b0b&v=&b=&from_search=65
• https://docs.confluent.io/current/connect/index.html
• https://data-flair.training/blogs/kafka-architecture/
• https://martinfowler.com/bliki/BoundedContext.html
• https://insidebigdata.com/2018/04/12/developing-deeper-understanding-apache-kafka-
architecture/
• https://www.asyncapi.com/
59Document Title - Name - Function - Business Unit DD/MM/YYYY
References
Questions?
6
0

Contenu connexe

Tendances

Introducing Change Data Capture with Debezium
Introducing Change Data Capture with DebeziumIntroducing Change Data Capture with Debezium
Introducing Change Data Capture with DebeziumChengKuan Gan
 
Developing a custom Kafka connector? Make it shine! | Igor Buzatović, Porsche...
Developing a custom Kafka connector? Make it shine! | Igor Buzatović, Porsche...Developing a custom Kafka connector? Make it shine! | Igor Buzatović, Porsche...
Developing a custom Kafka connector? Make it shine! | Igor Buzatović, Porsche...HostedbyConfluent
 
Introducing Kafka's Streams API
Introducing Kafka's Streams APIIntroducing Kafka's Streams API
Introducing Kafka's Streams APIconfluent
 
Building Event-Driven Services with Apache Kafka
Building Event-Driven Services with Apache KafkaBuilding Event-Driven Services with Apache Kafka
Building Event-Driven Services with Apache Kafkaconfluent
 
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsRunning Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsLightbend
 
Writing Blazing Fast, and Production-Ready Kafka Streams apps in less than 30...
Writing Blazing Fast, and Production-Ready Kafka Streams apps in less than 30...Writing Blazing Fast, and Production-Ready Kafka Streams apps in less than 30...
Writing Blazing Fast, and Production-Ready Kafka Streams apps in less than 30...HostedbyConfluent
 
KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!Guido Schmutz
 
MongoDB .local London 2019: Streaming Data on the Shoulders of Giants
MongoDB .local London 2019: Streaming Data on the Shoulders of GiantsMongoDB .local London 2019: Streaming Data on the Shoulders of Giants
MongoDB .local London 2019: Streaming Data on the Shoulders of GiantsLisa Roth, PMP
 
Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Timothy Spann
 
Data integration with Apache Kafka
Data integration with Apache KafkaData integration with Apache Kafka
Data integration with Apache Kafkaconfluent
 
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...confluent
 
Exploring KSQL Patterns
Exploring KSQL Patterns Exploring KSQL Patterns
Exploring KSQL Patterns confluent
 
Introduction to Kafka
Introduction to KafkaIntroduction to Kafka
Introduction to KafkaAkash Vacher
 
Concepts and Patterns for Streaming Services with Kafka
Concepts and Patterns for Streaming Services with KafkaConcepts and Patterns for Streaming Services with Kafka
Concepts and Patterns for Streaming Services with KafkaQAware GmbH
 
Capital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream ProcessingCapital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream Processingconfluent
 
Running Kafka for Maximum Pain
Running Kafka for Maximum PainRunning Kafka for Maximum Pain
Running Kafka for Maximum PainTodd Palino
 
Stream processing on mobile networks
Stream processing on mobile networksStream processing on mobile networks
Stream processing on mobile networkspbelko82
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming VisualizationGuido Schmutz
 
Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...
Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...
Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...confluent
 

Tendances (20)

Introducing Change Data Capture with Debezium
Introducing Change Data Capture with DebeziumIntroducing Change Data Capture with Debezium
Introducing Change Data Capture with Debezium
 
Developing a custom Kafka connector? Make it shine! | Igor Buzatović, Porsche...
Developing a custom Kafka connector? Make it shine! | Igor Buzatović, Porsche...Developing a custom Kafka connector? Make it shine! | Igor Buzatović, Porsche...
Developing a custom Kafka connector? Make it shine! | Igor Buzatović, Porsche...
 
Introducing Kafka's Streams API
Introducing Kafka's Streams APIIntroducing Kafka's Streams API
Introducing Kafka's Streams API
 
Building Event-Driven Services with Apache Kafka
Building Event-Driven Services with Apache KafkaBuilding Event-Driven Services with Apache Kafka
Building Event-Driven Services with Apache Kafka
 
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsRunning Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
 
Writing Blazing Fast, and Production-Ready Kafka Streams apps in less than 30...
Writing Blazing Fast, and Production-Ready Kafka Streams apps in less than 30...Writing Blazing Fast, and Production-Ready Kafka Streams apps in less than 30...
Writing Blazing Fast, and Production-Ready Kafka Streams apps in less than 30...
 
KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!
 
Kafka RealTime Streaming
Kafka RealTime StreamingKafka RealTime Streaming
Kafka RealTime Streaming
 
MongoDB .local London 2019: Streaming Data on the Shoulders of Giants
MongoDB .local London 2019: Streaming Data on the Shoulders of GiantsMongoDB .local London 2019: Streaming Data on the Shoulders of Giants
MongoDB .local London 2019: Streaming Data on the Shoulders of Giants
 
Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)Hello, kafka! (an introduction to apache kafka)
Hello, kafka! (an introduction to apache kafka)
 
Data integration with Apache Kafka
Data integration with Apache KafkaData integration with Apache Kafka
Data integration with Apache Kafka
 
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
Secure Kafka at scale in true multi-tenant environment ( Vishnu Balusu & Asho...
 
Exploring KSQL Patterns
Exploring KSQL Patterns Exploring KSQL Patterns
Exploring KSQL Patterns
 
Introduction to Kafka
Introduction to KafkaIntroduction to Kafka
Introduction to Kafka
 
Concepts and Patterns for Streaming Services with Kafka
Concepts and Patterns for Streaming Services with KafkaConcepts and Patterns for Streaming Services with Kafka
Concepts and Patterns for Streaming Services with Kafka
 
Capital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream ProcessingCapital One Delivers Risk Insights in Real Time with Stream Processing
Capital One Delivers Risk Insights in Real Time with Stream Processing
 
Running Kafka for Maximum Pain
Running Kafka for Maximum PainRunning Kafka for Maximum Pain
Running Kafka for Maximum Pain
 
Stream processing on mobile networks
Stream processing on mobile networksStream processing on mobile networks
Stream processing on mobile networks
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming Visualization
 
Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...
Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...
Using Location Data to Showcase Keys, Windows, and Joins in Kafka Streams DSL...
 

Similaire à Kafka and event driven architecture -og yatra20

Kafka-and-event-driven-architecture-OGYatra20.ppt
Kafka-and-event-driven-architecture-OGYatra20.pptKafka-and-event-driven-architecture-OGYatra20.ppt
Kafka-and-event-driven-architecture-OGYatra20.pptInam Bukhary
 
Event Driven Architectures with Apache Kafka
Event Driven Architectures with Apache KafkaEvent Driven Architectures with Apache Kafka
Event Driven Architectures with Apache KafkaMatt Masuda
 
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
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...confluent
 
Leveraging the power of the unbundled database
Leveraging the power of the unbundled databaseLeveraging the power of the unbundled database
Leveraging the power of the unbundled databaseAlex Silva
 
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...apidays
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka IntroductionAmita Mirajkar
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...confluent
 
Removing dependencies between services: Messaging and Apache Kafka
Removing dependencies between services: Messaging and Apache KafkaRemoving dependencies between services: Messaging and Apache Kafka
Removing dependencies between services: Messaging and Apache KafkaDaniel Muñoz Garrido
 
Evolutionary Systems - Kafka Microservices
Evolutionary Systems - Kafka MicroservicesEvolutionary Systems - Kafka Microservices
Evolutionary Systems - Kafka MicroservicesStefano Rocco
 
Database@Home : Data Driven Apps - Data-driven Microservices Architecture wit...
Database@Home : Data Driven Apps - Data-driven Microservices Architecture wit...Database@Home : Data Driven Apps - Data-driven Microservices Architecture wit...
Database@Home : Data Driven Apps - Data-driven Microservices Architecture wit...Tammy Bednar
 
Data Transformations on Ops Metrics using Kafka Streams (Srividhya Ramachandr...
Data Transformations on Ops Metrics using Kafka Streams (Srividhya Ramachandr...Data Transformations on Ops Metrics using Kafka Streams (Srividhya Ramachandr...
Data Transformations on Ops Metrics using Kafka Streams (Srividhya Ramachandr...confluent
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecturegulimran
 
Implementing Domain Events with Kafka
Implementing Domain Events with KafkaImplementing Domain Events with Kafka
Implementing Domain Events with KafkaAndrei Rugina
 
Reduce Risk with End to End Monitoring of Middleware-based Applications
Reduce Risk with End to End Monitoring of Middleware-based ApplicationsReduce Risk with End to End Monitoring of Middleware-based Applications
Reduce Risk with End to End Monitoring of Middleware-based ApplicationsSL Corporation
 
Salesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide DeckSalesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide Deckbrightgenss
 
High throughput data streaming in Azure
High throughput data streaming in AzureHigh throughput data streaming in Azure
High throughput data streaming in AzureAlexander Laysha
 
Removing performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configurationRemoving performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configurationKnoldus Inc.
 
OnPrem Monitoring.pdf
OnPrem Monitoring.pdfOnPrem Monitoring.pdf
OnPrem Monitoring.pdfTarekHamdi8
 

Similaire à Kafka and event driven architecture -og yatra20 (20)

Kafka-and-event-driven-architecture-OGYatra20.ppt
Kafka-and-event-driven-architecture-OGYatra20.pptKafka-and-event-driven-architecture-OGYatra20.ppt
Kafka-and-event-driven-architecture-OGYatra20.ppt
 
Event Driven Architectures with Apache Kafka
Event Driven Architectures with Apache KafkaEvent Driven Architectures with Apache Kafka
Event Driven Architectures with Apache Kafka
 
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 !
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
 
Leveraging the power of the unbundled database
Leveraging the power of the unbundled databaseLeveraging the power of the unbundled database
Leveraging the power of the unbundled database
 
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka Introduction
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
 
Removing dependencies between services: Messaging and Apache Kafka
Removing dependencies between services: Messaging and Apache KafkaRemoving dependencies between services: Messaging and Apache Kafka
Removing dependencies between services: Messaging and Apache Kafka
 
Evolutionary Systems - Kafka Microservices
Evolutionary Systems - Kafka MicroservicesEvolutionary Systems - Kafka Microservices
Evolutionary Systems - Kafka Microservices
 
Database@Home : Data Driven Apps - Data-driven Microservices Architecture wit...
Database@Home : Data Driven Apps - Data-driven Microservices Architecture wit...Database@Home : Data Driven Apps - Data-driven Microservices Architecture wit...
Database@Home : Data Driven Apps - Data-driven Microservices Architecture wit...
 
Data Transformations on Ops Metrics using Kafka Streams (Srividhya Ramachandr...
Data Transformations on Ops Metrics using Kafka Streams (Srividhya Ramachandr...Data Transformations on Ops Metrics using Kafka Streams (Srividhya Ramachandr...
Data Transformations on Ops Metrics using Kafka Streams (Srividhya Ramachandr...
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Implementing Domain Events with Kafka
Implementing Domain Events with KafkaImplementing Domain Events with Kafka
Implementing Domain Events with Kafka
 
IoT & Azure
IoT & AzureIoT & Azure
IoT & Azure
 
Reduce Risk with End to End Monitoring of Middleware-based Applications
Reduce Risk with End to End Monitoring of Middleware-based ApplicationsReduce Risk with End to End Monitoring of Middleware-based Applications
Reduce Risk with End to End Monitoring of Middleware-based Applications
 
Salesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide DeckSalesforce Winter 23 Release Webinar Slide Deck
Salesforce Winter 23 Release Webinar Slide Deck
 
High throughput data streaming in Azure
High throughput data streaming in AzureHigh throughput data streaming in Azure
High throughput data streaming in Azure
 
Removing performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configurationRemoving performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configuration
 
OnPrem Monitoring.pdf
OnPrem Monitoring.pdfOnPrem Monitoring.pdf
OnPrem Monitoring.pdf
 

Plus de Vinay Kumar

Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Vinay Kumar
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Vinay Kumar
 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18Vinay Kumar
 
Extend soa with api management Doag18
Extend soa with api management Doag18Extend soa with api management Doag18
Extend soa with api management Doag18Vinay Kumar
 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Vinay Kumar
 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- MadridVinay Kumar
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridVinay Kumar
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Vinay Kumar
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caVinay Kumar
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caVinay Kumar
 
Adf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationAdf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationVinay Kumar
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portalVinay Kumar
 
Custom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionCustom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionVinay Kumar
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobileVinay Kumar
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guideVinay Kumar
 
Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperVinay Kumar
 
Oracle adf performance tips
Oracle adf performance tipsOracle adf performance tips
Oracle adf performance tipsVinay Kumar
 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - OverviewVinay Kumar
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depthVinay Kumar
 
Oracle Fusion Architecture
Oracle Fusion ArchitectureOracle Fusion Architecture
Oracle Fusion ArchitectureVinay Kumar
 

Plus de Vinay Kumar (20)

Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20
 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18
 
Extend soa with api management Doag18
Extend soa with api management Doag18Extend soa with api management Doag18
Extend soa with api management Doag18
 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018
 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- Madrid
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
 
Adf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationAdf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzation
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portal
 
Custom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionCustom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extension
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobile
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guide
 
Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paper
 
Oracle adf performance tips
Oracle adf performance tipsOracle adf performance tips
Oracle adf performance tips
 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - Overview
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
 
Oracle Fusion Architecture
Oracle Fusion ArchitectureOracle Fusion Architecture
Oracle Fusion Architecture
 

Dernier

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 

Dernier (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

Kafka and event driven architecture -og yatra20

  • 1. Learn Kafka and event-driven architecture Vinay Kumar @vinaykuma201
  • 2. • ORACLE ACE • Global Integration Architect • Author of “Beginning Oracle WebCenter portal 12c” • Blogger- http://www.techartifact.com/blogs • https://www.linkedin.com/in/vinaykumar2/ 2 About me
  • 3.
  • 4. Agenda 4 • Interaction Style • Traditional SOA approach • Event driven Architecture • Event with Microservices • Event streaming with event Hub • Integration with legacy. • Kafka • Kafka internals • Async APIs
  • 5. Communication Styles 5 Type of Interaction Initiator Participants Time-driven Time The specifice system Request-driven Client Client & Server Event-driven event Open-ended
  • 6. Time Driven 6 Store System Run in every 30 min to check the inventory
  • 9. 9Document Title - Name - Function - Business Unit DD/MM/YYYY Event Notification
  • 10. • Anything happened (or didnt happen). • A change in the state. • An event is always named in the past tense and is immutabled • A condition that triggers a notification. CustomerAddressChanged InventoryUpdated SalesOrderCreated PurschaseOrderCreated 10 Events
  • 11. • “Real-time” events as they happen at the producer • Push notifications • One-way “fire-and-forget” • Immediate action at the consumers • Informational (“someone logged in”), not commands (“audit this”) 11 Characterstics of Events
  • 12. Typical EDA Architecture Event Bus System SystemSystem System System System Event Producers Event Transport Event Consumer
  • 13. • Supports the business demands for better service (no batch, less waiting) • No point-to-point integrations (fire & forget) • Fault tolerance, scalability, versatility, and other benefits of loose coupling. • Powerful real-time response and analytics. • Greater operational efficiencies 13 benefits of EDA
  • 14. Where we do come from? 1 4
  • 15. 15Document Title - Name - Function - Business Unit DD/MM/YYYY Monolithic Shop Customer Customer Inventory Payment Might be individual bounded context in new world
  • 16. 16Document Title - Name - Function - Business Unit DD/MM/YYYY Traditional Archiecture (Point to Point) Shop Customer MarketingInventory Payment Reporting Inventory
  • 17. 17Document Title - Name - Function - Business Unit DD/MM/YYYY Traditional Archiecture- ESB Shop Customer MarketingInventory Payment Reporting Enterprise Service Bus
  • 18. 18Document Title - Name - Function - Business Unit DD/MM/YYYY Traditional Archiecture- ESB Shop Customer MarketingInventory Payment Reporting Lets add some fraud check and new version V1 V2 Enterprise Service Bus fraud fraud
  • 19. 19Document Title - Name - Function - Business Unit DD/MM/YYYY Lets add loyalty features Shop Customer MarketingInventory Payment Reporting V1 V2 Enterprise Service Bus fraud fraud Loyalty
  • 20. 20Document Title - Name - Function - Business Unit DD/MM/YYYY When we scale up and see Integration ripple effect Shop Customer MarketingInventory Payment Reporting V1 V2 Enterprise Service Bus fraud fraud Loyalty Loyalty
  • 21. • SOA is all about dividing domain logic into separate systems and exposing it as services • In some cases business logic will, by its very nature, be spread out over many systems or across various domain (cross domain). • The result is domain pollution and bloat in the SOA systems. Whats the problem
  • 22. 22Document Title - Name - Function - Business Unit DD/MM/YYYY
  • 23. • Domain driven design promote the business logic to expose as a service and focus should be on domain and domain logic. • Domain event is an activity happened that domain expert is concerned. • By exposing relevant Domain Events on a shared event bus we can isolate cross cutting functions to separate systems SOA and Domain events
  • 24. SOA + Domain events Shop Customer Marketing Reporting Inventory Payment Event Bus Loyalty Fraud BAM
  • 25. “You make me complete” SOA EDA
  • 26. Event Driven (Async) in Microservices Shop DBShop logicShop API Customer DBCustomer logicCustomer API Payment DBPayment logicPayment API Event Hub Shop Microservices Payment Microservices Customer Microservices Producer, Consumer Consumer Consumer
  • 27. 27Document Title - Name - Function - Business Unit DD/MM/YYYY Event Streaming Data Source Shop DBShop logicShop API Customer DBCustomer logicCustomer API Payment DBPayment logicPayment API Event Hub Shop Microservices Payment Microservices Customer Microservices Producer, Consumer Consumer Consumer Mobile AppsSocial Media Stocks Blockchain Location IOT Events Streaming
  • 28. 28Document Title - Name - Function - Business Unit DD/MM/YYYY Microservice events and Streaming processing StateMicroserviceAPI Microservices Cluster Mobile AppsSocial Media Stocks Blockchain Location IOT Events Stream Event Hub Events Stream Stream Processing Cluster Stream Analytics dashboard Events Stream Reference Model Results BI tools Search/Discover Mobile & online apps SQL Service Service Service
  • 29. • Domain event- In domain-driven design, domain events are described as something that happens in the domain and is important to domain experts. - A user has registered - An order has been cancelled. - The payment has been received Domain events are relevant both within a bounded context and across bounded contexts for implementing processes within the domain. Best for communication between bounded context. 29Document Title - Name - Function - Business Unit DD/MM/YYYY Domain event and event sourcing ■ Event Sourcing - Event Sourcing ensures that all changes to application state are stored as a sequence of events. It store the events that lead to specific state and state too. - MobileNumberProvided (MobileNumber) - VerificationCodeGenerated (VerificationCode) - MobileNumberValidated (no additional state) - UserDetailsProvided (FullName, Address, …) These events are sufficient to reconstruct the current state of the UserRegistration aggregate at any time. Event Sourcing is for persistent strategy. Event Sourcing makes it easier to fix inconsistencies. Event Sourcing is local for a domain.
  • 30. Why Kafka for event-driven? 3 0
  • 31. 31Document Title - Name - Function - Business Unit DD/MM/YYYY
  • 32. 32Document Title - Name - Function - Business Unit DD/MM/YYYY Kafka Overview • Distributed publish-subscribe messaging system. • Designed for processing of real time activity stream data (log, metrics, collections, social media streams,…..) • Does not use JMS API and standards • Kafka maintains feeds of message in topics • Initially developed at Linkedin, now part of Apache.
  • 33. 33Document Title - Name - Function - Business Unit DD/MM/YYYY Kafka History
  • 34. • Reliability. Kafka is distributed, partitioned, replicated, and fault tolerant. Kafka replicates data and is able to support multiple subscribers. Additionally, it automatically balances consumers in the event of failure. • Scalability. Kafka is a distributed system that scales quickly and easily without incurring any downtime. • Durability. Kafka uses a distributed commit log, which means messages persists on disk as fast as possible providing intra-cluster replication, hence it is durable. • Performance. Kafka has high throughput for both publishing and subscribing messages. It maintains stable performance even when dealing with many terabytes of stored messages. 34Document Title - Name - Function - Business Unit DD/MM/YYYY Benefits of Kafka
  • 35. • Kafka is a messaging system that is designed to be fast, scalable, and durable. • A producer is an entity/application that publishes data to a Kafka cluster, which is made up of brokers. • A Broker is responsible for receiving and storing the data when a producer publishes. • A consumer then consumes data from a broker at a specified offset, i.e. position. • A Topic is a category/feed name to which records are stored and published. Topics have partitions and order guaranteed per partitions • All Kafka records are organized into topics. Producer applications write data to topics and consumer applications read from topics. 35Document Title - Name - Function - Business Unit DD/MM/YYYY What is kafka
  • 36. 36Document Title - Name - Function - Business Unit DD/MM/YYYY
  • 37. 37Document Title - Name - Function - Business Unit DD/MM/YYYY Kafka Architecture.
  • 38. • Topic is divided in partitions. • The message order is only guarantee inside a partition • Consumer offsets are persisted by Kafka with a commit/auto-commit mechanism. • Consumers subscribes to topics • Consumers with different group-id receives all messages of the topics they subscribe. They consume the messages at their own speed. • Consumers sharing the same group-id will be assigned to one (or several) partition of the topics they subscribe. They only receive messages from their partitions. So a constraint appears here: the number of partitions in a topic gives the maximum number of parallel consumers. • The assignment of partitions to consumer can be automatic and performed by Kafka (through Zookeeper). If a consumer stops polling or is too slow, a process call “re- balancing” is performed and the partitions are re-assigned to other consumers. 38Document Title - Name - Function - Business Unit DD/MM/YYYY Key Concepts of Kafka
  • 39. • Kafka normally divides topic in multiply partitions. • Each partition is an ordered, immutable sequence of messages that is continually appended to. • A message in a partition is identified by a sequence number called offset. • The FIFO is only guarantee inside a partition. • When a topic is created, the number of partitions should be given • The producer can choose which partition will get the message or let Kafka decides for him based on a hash of the message key (recommended). So the message key is important and will be the used to ensure the message order. • Moreover, as the consumer will be assigned to one or several partition, the key will also “group” messages to a same consumer. 39Document Title - Name - Function - Business Unit DD/MM/YYYY Key Concepts of Kafka - continued
  • 40. • A data source writes messages to the log and one or more consumers reads from the log at the point in time they choose. • In the diagram below a data source is writing to the log and consumers A and B are reading from the log at different offsets. 40Document Title - Name - Function - Business Unit DD/MM/YYYY Log Anatomy
  • 41. • We have a broker with three topics, where each topic has 8 partitions. • The producer sends a record to partition 1 in topic 1 and since the partition is empty the record ends up at offset 0. 41Document Title - Name - Function - Business Unit DD/MM/YYYY Record flow in Apache Kafka
  • 42. • Next record is added to partition 1 will and up at offset 1, and the next record at offset 2 and so on. • This is a commit log, each record is appended to the log and there is no way to change the existing records in the log(immutable). This is also the same offset that the consumer uses to specify where to start reading. 42Document Title - Name - Function - Business Unit DD/MM/YYYY Record flow in Apache Kafka - continued
  • 43. 43Document Title - Name - Function - Business Unit DD/MM/YYYY Apache Kafka Architecture
  • 44. • Each broker holds a number of partitions and each of these partitions can be either a leader or a replica for a topic. • All writes and reads to a topic go through the leader and the leader coordinates updating replicas with new data. If a leader fails, a replica takes over as the new leader. 44Document Title - Name - Function - Business Unit DD/MM/YYYY Kafka - Partitions and Brokers
  • 45. • Producers write to a single leader, this provides a means of load balancing production so that each write can be serviced by a separate broker and machine. • In the image, the producer is writing to partition 0 of the topic and partition 0 replicates that write to the available replicas. 45Document Title - Name - Function - Business Unit DD/MM/YYYY Kafka – Producers writing to broker
  • 46. 46Document Title - Name - Function - Business Unit DD/MM/YYYY Kafka Architecture- Topic Replication factor
  • 47. • Producer is process that can publish a message to a topic. • Consumer is a process that can subscribe to one or more topics and consume messages published to topics. • Topic category is the name of the feed to which messages are published. • Broker is a process running on single machine • Cluster is a group of brokers working together. • Broker management done by Zookeeper. 47Document Title - Name - Function - Business Unit DD/MM/YYYY Flow of a record in Kafka
  • 48. • Auto Scalable infrastructure. • Multi language support (SDKs) • Event Streaming Database • GUI driven management and monitoring • Enterprise Grade security • Diagnostic Logs • Data Monitor • Global Resilience • Disaster Recovery • Connector with legacy application • Retention management • Flexible DevOps • ….. Document Title - Name - Function - Business Unit DD/MM/YYYY What are capabilites of events hub
  • 49. • Traditional message broker (not really event driven) 49Document Title - Name - Function - Business Unit DD/MM/YYYY Alternatives of event-hub or kafka?
  • 50. 50Document Title - Name - Function - Business Unit DD/MM/YYYY What about legacy App? RDBMS Existing App Event Hub New APPChange Data capture
  • 51. • Attunity Replicate • Debezium (open source) • IBM IIDR • Oracle GoldenGate for Big Data • SQ Data 51Document Title - Name - Function - Business Unit DD/MM/YYYY Change data capture tools
  • 52. 52Document Title - Name - Function - Business Unit DD/MM/YYYY Microservice events and Streaming processing and legacy application StateMicroserviceAPI Microservices Cluster Mobile AppsSocial Media Stocks Blockchain Location IOT Events Stream Event Hub Events Stream Stream Processing Cluster Stream Analytics dashboard Events Stream Reference Model Results BI tools Search/Discover Mobile & online apps SQL Service Service Service State State Finance Sales Audit Change Data capture Big Data
  • 53. 53Document Title - Name - Function - Business Unit DD/MM/YYYY
  • 54. Integrate kafka with legacy • JDBC connector for Kafka connect • Use CDC (Change data capture) tool which integrates with kafka connect.
  • 55. • Kafka Connect is a tool for scalably and reliably streaming data between Apache Kafka and other data systems. Runs separately from Kafka brokers. 55Document Title - Name - Function - Business Unit DD/MM/YYYY Kafka connect
  • 56. • How do manage the event lifecycle? • We have API management platform for APIs. 56Document Title - Name - Function - Business Unit DD/MM/YYYY Async API - https://www.asyncapi.com/ Event lifecycle - Design - Documentation - Code generation - Event management - Test - Monitoring An Async API document is a file that defines and annotates the different components of a specific Event-Driven API.
  • 57. 57Document Title - Name - Function - Business Unit DD/MM/YYYY OpenAPI- AsyncAPI comparison
  • 58. Summary 5 8 • Make the split right – Bounded context. • Events are the communication between bounded context. • Event can be Async communication b/w microsevices. • Kafka is great source for messaging. • Event hub is key in new enterprise integration world. • Use CDC for legacy integrationn. • Try Async API for event documentation.
  • 59. • https://www.slideshare.net/gschmutz/building-event-driven-microservices-with-apache- kafka-208145957 • https://www.slideshare.net/jeppec/soa-and-event-driven-architecture-soa- 20?qid=604f3115-642b-48d4-b7ef-66ce11ab9b0b&v=&b=&from_search=65 • https://docs.confluent.io/current/connect/index.html • https://data-flair.training/blogs/kafka-architecture/ • https://martinfowler.com/bliki/BoundedContext.html • https://insidebigdata.com/2018/04/12/developing-deeper-understanding-apache-kafka- architecture/ • https://www.asyncapi.com/ 59Document Title - Name - Function - Business Unit DD/MM/YYYY References