SlideShare a Scribd company logo
Apache Kafka is a fast, scalable, durable and
distributed messaging system.

 We need basic Java programming skills plus access
to:
 Apache Kafka 0.9.0
 Apache Maven 3.0 or later
 Git
 Step 1: Download Kafka
Download the Apache Kafka 0.9.0release and un-tar
it.
Prerequisites & Installation

Kafka is designed for distributed high
throughput systems. Kafka tends to work very
well as a replacement for a more traditional
message broker. In comparison to other
messaging systems, Kafka has better throughput,
built-in partitioning, replication and inherent
fault-tolerance, which makes it a good fit for
large-scale message processing applications.


 A Messaging System is responsible for transferring
data from one application to another, so the
applications can focus on data, but not worry about
how to share it. Distributed messaging is based on
the concept of reliable message queuing. Messages
are queued asynchronously between client
applications and messaging system. Two types of
messaging patterns are available − one is point to
point and the other is publish-subscribe (pub-sub)
messaging system. Most of the messaging patterns
follow pub-sub.
What is a Messaging
System?

 In a point-to-point system, messages are persisted in
a queue. One or more consumers can consume the
messages in the queue, but a particular message can
be consumed by a maximum of one consumer only.
Once a consumer reads a message in the queue, it
disappears from that queue. The typical example of
this system is an Order Processing System, where
each order will be processed by one Order Processor,
but Multiple Order Processors can work as well at
the same time. The following diagram depicts the
structure.
Point to Point Messaging
System
Sender
Message
Queue
Receiver
 In the publish-subscribe system, messages are persisted
in a topic. Unlike point-to-point system, consumers can
subscribe to one or more topic and consume all the
messages in that topic. In the Publish-Subscribe system,
message producers are called publishers and message
consumers are called subscribers. A real-life example is
Dish TV, which publishes different channels like sports,
movies, music, etc., and anyone can subscribe to their
own set of channels and get them whenever their
subscribed channels are available.
Publish-Subscribe
Messaging System
Sender
Message
Queue
Receiver
Receiver
Receiver

 Following are a few benefits of Kafka −
 Reliability − Kafka is distributed, partitioned, replicated and
fault tolerance.
 Scalability − Kafka messaging system scales easily without
down time..
 Durability − Kafka uses Distributed commit log which means
messages persists on disk as fast as possible, hence it is
durable..
 Performance − Kafka has high throughput for both publishing
and subscribing messages. It maintains stable performance
even many TB of messages are stored.
 Kafka is very fast and guarantees zero downtime and zero data
loss.
Benefits

 Kafka is a unified platform for handling all the real-time
data feeds. Kafka supports low latency message delivery
and gives guarantee for fault tolerance in the presence of
machine failures. It has the ability to handle a large
number of diverse consumers. Kafka is very fast,
performs 2 million writes/sec. Kafka persists all data to
the disk, which essentially means that all the writes go to
the page cache of the OS (RAM). This makes it very
efficient to transfer data from page cache to a network
socket.

Need for Kafka

 such as topics, brokers, producers and consumers.
 Topics: A stream of messages belonging to a particular category is
called a topic. Data is stored in topics
 Partition:Topics may have many partitions, so it can handle an
arbitrary amount of data.
 Partition offset: Each partitioned message has a unique sequence id
called as offset
 Replicas of partition: Replicas are nothing but backups of a partition.
Replicas are never read or write data. They are used to prevent data
loss.
 Brokers
 Brokers are simple system responsible for maintaining the pub-lished
data. Each broker may have zero or more partitions per topic. Assume,
if there are N partitions in a topic and N number of brokers, each
broker will have one partition.
Kafka main
terminologies

 The sample Producer is a classical Java application with a
main() method, this application must:
 Initialize and configure a producer
 Use the producer to send messages
 1- Producer Initialization
Create a producer is quite simple, you just need to create an
instance of the
org.apache.kafka.clients.producer.KafkaProducer class with a
set of properties, this looks like:
 producer = new KafkaProducer(properties); In this example,
the configuration is externalized in a property file, with the
following entries:
Producer


Once you have a producer instance you can post
messages to a topic using the ProducerRecord class. The
ProducerRecord class is a key/value pair where:
 the key is the topic
 the value is the message
 As you can guess sending a message to the topic is
straight forward:
 ... producer.send(new ProducerRecord("fast-messages",
"This is a dummy message")); ...
2- Message posting

Once you are done with the producer use
the producer.close() method that blocks the process
until all the messages are sent to the server. This call is
used in a finally block to guarantee that it is called. A
Kafka producer can also be used in a try with resources
construct.
 ... }
 finally { producer.close();
 }
Producer End

 The Consumer class, like the producer is a simple
Java class with a main method.
 This sample consumer uses the Hdr Histogram
library to record and analyze the messages received
from the fast-messages topic, and Jackson to parse
JSON messages.
Consumer

 ZooKeeper is used for managing and coordinating
Kafka broker. ZooKeeper service is mainly used to
notify producer and consumer about the presence of
any new broker in the Kafka system or failure of the
broker in the Kafka system. As per the notification
received by the Zookeeper regarding presence or
failure of the broker then pro-ducer and consumer
takes decision and starts coordinating their task with
some other broker.
 Kafka stores basic metadata in Zookeeper such as
information about topics, brokers, consumer offsets
(queue readers) and so on.
ZooKeeper

More Related Content

What's hot

kafka
kafkakafka
Kafka tutorial
Kafka tutorialKafka tutorial
Kafka tutorial
Srikrishna k
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
Aparna Pillai
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache Kafka
Amir Sedighi
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
Shiao-An Yuan
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache Kafka
Chhavi Parasher
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
Clement Demonchy
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
Kumar Shivam
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
Mohammed Fazuluddin
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
Saroj Panyasrivanit
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
Jemin Patel
 
Kafka
KafkaKafka
Kafka
shrenikp
 
Reliability Guarantees for Apache Kafka
Reliability Guarantees for Apache KafkaReliability Guarantees for Apache Kafka
Reliability Guarantees for Apache Kafka
confluent
 
Kafka 101 and Developer Best Practices
Kafka 101 and Developer Best PracticesKafka 101 and Developer Best Practices
Kafka 101 and Developer Best Practices
confluent
 
Kafka Overview
Kafka OverviewKafka Overview
Kafka Overview
iamtodor
 
Apache Kafka at LinkedIn
Apache Kafka at LinkedInApache Kafka at LinkedIn
Apache Kafka at LinkedIn
Discover Pinterest
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - Verisign
Michael Noll
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Jean-Paul Azar
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka Introduction
Amita Mirajkar
 

What's hot (20)

kafka
kafkakafka
kafka
 
Kafka tutorial
Kafka tutorialKafka tutorial
Kafka tutorial
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache Kafka
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache Kafka
 
Kafka 101
Kafka 101Kafka 101
Kafka 101
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Kafka
KafkaKafka
Kafka
 
Reliability Guarantees for Apache Kafka
Reliability Guarantees for Apache KafkaReliability Guarantees for Apache Kafka
Reliability Guarantees for Apache Kafka
 
Kafka 101 and Developer Best Practices
Kafka 101 and Developer Best PracticesKafka 101 and Developer Best Practices
Kafka 101 and Developer Best Practices
 
Kafka Overview
Kafka OverviewKafka Overview
Kafka Overview
 
Apache Kafka at LinkedIn
Apache Kafka at LinkedInApache Kafka at LinkedIn
Apache Kafka at LinkedIn
 
Kafka basics
Kafka basicsKafka basics
Kafka basics
 
Apache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - Verisign
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
 
Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka Introduction
 

Viewers also liked

如何滅除痛苦
如何滅除痛苦如何滅除痛苦
如何滅除痛苦
宏 恆
 
Web search-metrics-tutorial-www2010-section-6of7-freshness
Web search-metrics-tutorial-www2010-section-6of7-freshnessWeb search-metrics-tutorial-www2010-section-6of7-freshness
Web search-metrics-tutorial-www2010-section-6of7-freshness
Ali Dasdan
 
Buyer presentation
Buyer presentationBuyer presentation
Buyer presentation
Beth Larson
 
Jsf 2
Jsf 2Jsf 2
Lutein plus
Lutein plusLutein plus
Lutein plus
Zoran Stojcevski
 
20160821 a parábola do semeador
20160821 a parábola do semeador20160821 a parábola do semeador
20160821 a parábola do semeador
Flavio Brim
 
Spirulina chlorella plus
Spirulina chlorella plusSpirulina chlorella plus
Spirulina chlorella plus
Zoran Stojcevski
 
Pseudo-addiction
Pseudo-addictionPseudo-addiction
Pseudo-addiction
Paul Coelho, MD
 
Zvit-vihovna
Zvit-vihovnaZvit-vihovna
Zvit-vihovna
tetiana1958
 
Differently-abled Heroes of India; awarded by Limca book of records
Differently-abled Heroes of India; awarded by Limca book of recordsDifferently-abled Heroes of India; awarded by Limca book of records
Differently-abled Heroes of India; awarded by Limca book of records
ATUL RAJA
 
Essential skills of a teacher
Essential skills of a teacherEssential skills of a teacher
Essential skills of a teacherTin Arevalo
 
Harvard Business School: Why Companies Fail and How Their Founders Can Bounce...
Harvard Business School: Why Companies Fail and How Their Founders Can Bounce...Harvard Business School: Why Companies Fail and How Their Founders Can Bounce...
Harvard Business School: Why Companies Fail and How Their Founders Can Bounce...
ATUL RAJA
 
Journalism: Guidelines and Steps in Page Designing
Journalism: Guidelines and Steps in Page Designing Journalism: Guidelines and Steps in Page Designing
Journalism: Guidelines and Steps in Page Designing
Jamaica Olazo
 
MATERI AQIDAH Mengurai Sombong
MATERI AQIDAH Mengurai SombongMATERI AQIDAH Mengurai Sombong
MATERI AQIDAH Mengurai Sombong
Anas Wibowo
 
successful entrepreneurs of flipkart {sachin and binny bansal}
successful entrepreneurs of flipkart {sachin and binny bansal} successful entrepreneurs of flipkart {sachin and binny bansal}
successful entrepreneurs of flipkart {sachin and binny bansal}
Yogesh Gokule
 
leanIX - Networking Event Hamburg 22.2.2013
leanIX - Networking Event Hamburg 22.2.2013leanIX - Networking Event Hamburg 22.2.2013
leanIX - Networking Event Hamburg 22.2.2013
LeanIX GmbH
 

Viewers also liked (18)

如何滅除痛苦
如何滅除痛苦如何滅除痛苦
如何滅除痛苦
 
Web search-metrics-tutorial-www2010-section-6of7-freshness
Web search-metrics-tutorial-www2010-section-6of7-freshnessWeb search-metrics-tutorial-www2010-section-6of7-freshness
Web search-metrics-tutorial-www2010-section-6of7-freshness
 
Flasirana voda
Flasirana vodaFlasirana voda
Flasirana voda
 
ETSY GUY FINAL
ETSY GUY FINALETSY GUY FINAL
ETSY GUY FINAL
 
Buyer presentation
Buyer presentationBuyer presentation
Buyer presentation
 
Jsf 2
Jsf 2Jsf 2
Jsf 2
 
Lutein plus
Lutein plusLutein plus
Lutein plus
 
20160821 a parábola do semeador
20160821 a parábola do semeador20160821 a parábola do semeador
20160821 a parábola do semeador
 
Spirulina chlorella plus
Spirulina chlorella plusSpirulina chlorella plus
Spirulina chlorella plus
 
Pseudo-addiction
Pseudo-addictionPseudo-addiction
Pseudo-addiction
 
Zvit-vihovna
Zvit-vihovnaZvit-vihovna
Zvit-vihovna
 
Differently-abled Heroes of India; awarded by Limca book of records
Differently-abled Heroes of India; awarded by Limca book of recordsDifferently-abled Heroes of India; awarded by Limca book of records
Differently-abled Heroes of India; awarded by Limca book of records
 
Essential skills of a teacher
Essential skills of a teacherEssential skills of a teacher
Essential skills of a teacher
 
Harvard Business School: Why Companies Fail and How Their Founders Can Bounce...
Harvard Business School: Why Companies Fail and How Their Founders Can Bounce...Harvard Business School: Why Companies Fail and How Their Founders Can Bounce...
Harvard Business School: Why Companies Fail and How Their Founders Can Bounce...
 
Journalism: Guidelines and Steps in Page Designing
Journalism: Guidelines and Steps in Page Designing Journalism: Guidelines and Steps in Page Designing
Journalism: Guidelines and Steps in Page Designing
 
MATERI AQIDAH Mengurai Sombong
MATERI AQIDAH Mengurai SombongMATERI AQIDAH Mengurai Sombong
MATERI AQIDAH Mengurai Sombong
 
successful entrepreneurs of flipkart {sachin and binny bansal}
successful entrepreneurs of flipkart {sachin and binny bansal} successful entrepreneurs of flipkart {sachin and binny bansal}
successful entrepreneurs of flipkart {sachin and binny bansal}
 
leanIX - Networking Event Hamburg 22.2.2013
leanIX - Networking Event Hamburg 22.2.2013leanIX - Networking Event Hamburg 22.2.2013
leanIX - Networking Event Hamburg 22.2.2013
 

Similar to Apache kafka

apachekafka-160907180205.pdf
apachekafka-160907180205.pdfapachekafka-160907180205.pdf
apachekafka-160907180205.pdf
TarekHamdi8
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
Srikrishna k
 
Session 23 - Kafka and Zookeeper
Session 23 - Kafka and ZookeeperSession 23 - Kafka and Zookeeper
Session 23 - Kafka and Zookeeper
AnandMHadoop
 
kafka_session_updated.pptx
kafka_session_updated.pptxkafka_session_updated.pptx
kafka_session_updated.pptx
Koiuyt1
 
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQCluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQShameera Rathnayaka
 
SA UNIT II KAFKA.pdf
SA UNIT II KAFKA.pdfSA UNIT II KAFKA.pdf
SA UNIT II KAFKA.pdf
ManjuAppukuttan2
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
Viswanath J
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
natashasweety7
 
A Quick Guide to Refresh Kafka Skills
A Quick Guide to Refresh Kafka SkillsA Quick Guide to Refresh Kafka Skills
A Quick Guide to Refresh Kafka Skills
Ravindra kumar
 
Kafka RealTime Streaming
Kafka RealTime StreamingKafka RealTime Streaming
Kafka RealTime Streaming
Viyaan Jhiingade
 
Kafka Deep Dive
Kafka Deep DiveKafka Deep Dive
Kafka Deep Dive
Knoldus Inc.
 
Kafka Fundamentals
Kafka FundamentalsKafka Fundamentals
Kafka Fundamentals
Ketan Keshri
 
Introduction to Kafka Streams Presentation
Introduction to Kafka Streams PresentationIntroduction to Kafka Streams Presentation
Introduction to Kafka Streams Presentation
Knoldus Inc.
 
Kafka 10000 feet view
Kafka 10000 feet viewKafka 10000 feet view
Kafka 10000 feet view
younessx01
 
Apache Kafka - Messaging System Overview
Apache Kafka - Messaging System OverviewApache Kafka - Messaging System Overview
Apache Kafka - Messaging System Overview
Dmitry Tolpeko
 
Intoduction to Apache Kafka
Intoduction to Apache KafkaIntoduction to Apache Kafka
Intoduction to Apache Kafka
Veysel Gündüzalp
 
ActiveMQ interview Questions and Answers
ActiveMQ interview Questions and AnswersActiveMQ interview Questions and Answers
ActiveMQ interview Questions and Answers
jeetendra mandal
 
Columbus mule soft_meetup_aug2021_Kafka_Integration
Columbus mule soft_meetup_aug2021_Kafka_IntegrationColumbus mule soft_meetup_aug2021_Kafka_Integration
Columbus mule soft_meetup_aug2021_Kafka_Integration
MuleSoft Meetup
 
Copy of Kafka-Camus
Copy of Kafka-CamusCopy of Kafka-Camus
Copy of Kafka-CamusDeep Shah
 
Kafka syed academy_v1_introduction
Kafka syed academy_v1_introductionKafka syed academy_v1_introduction
Kafka syed academy_v1_introduction
Syed Hadoop
 

Similar to Apache kafka (20)

apachekafka-160907180205.pdf
apachekafka-160907180205.pdfapachekafka-160907180205.pdf
apachekafka-160907180205.pdf
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Session 23 - Kafka and Zookeeper
Session 23 - Kafka and ZookeeperSession 23 - Kafka and Zookeeper
Session 23 - Kafka and Zookeeper
 
kafka_session_updated.pptx
kafka_session_updated.pptxkafka_session_updated.pptx
kafka_session_updated.pptx
 
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQCluster_Performance_Apache_Kafak_vs_RabbitMQ
Cluster_Performance_Apache_Kafak_vs_RabbitMQ
 
SA UNIT II KAFKA.pdf
SA UNIT II KAFKA.pdfSA UNIT II KAFKA.pdf
SA UNIT II KAFKA.pdf
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
A Quick Guide to Refresh Kafka Skills
A Quick Guide to Refresh Kafka SkillsA Quick Guide to Refresh Kafka Skills
A Quick Guide to Refresh Kafka Skills
 
Kafka RealTime Streaming
Kafka RealTime StreamingKafka RealTime Streaming
Kafka RealTime Streaming
 
Kafka Deep Dive
Kafka Deep DiveKafka Deep Dive
Kafka Deep Dive
 
Kafka Fundamentals
Kafka FundamentalsKafka Fundamentals
Kafka Fundamentals
 
Introduction to Kafka Streams Presentation
Introduction to Kafka Streams PresentationIntroduction to Kafka Streams Presentation
Introduction to Kafka Streams Presentation
 
Kafka 10000 feet view
Kafka 10000 feet viewKafka 10000 feet view
Kafka 10000 feet view
 
Apache Kafka - Messaging System Overview
Apache Kafka - Messaging System OverviewApache Kafka - Messaging System Overview
Apache Kafka - Messaging System Overview
 
Intoduction to Apache Kafka
Intoduction to Apache KafkaIntoduction to Apache Kafka
Intoduction to Apache Kafka
 
ActiveMQ interview Questions and Answers
ActiveMQ interview Questions and AnswersActiveMQ interview Questions and Answers
ActiveMQ interview Questions and Answers
 
Columbus mule soft_meetup_aug2021_Kafka_Integration
Columbus mule soft_meetup_aug2021_Kafka_IntegrationColumbus mule soft_meetup_aug2021_Kafka_Integration
Columbus mule soft_meetup_aug2021_Kafka_Integration
 
Copy of Kafka-Camus
Copy of Kafka-CamusCopy of Kafka-Camus
Copy of Kafka-Camus
 
Kafka syed academy_v1_introduction
Kafka syed academy_v1_introductionKafka syed academy_v1_introduction
Kafka syed academy_v1_introduction
 

More from Ramakrishna kapa

Load balancer in mule
Load balancer in muleLoad balancer in mule
Load balancer in mule
Ramakrishna kapa
 
Anypoint connectors
Anypoint connectorsAnypoint connectors
Anypoint connectors
Ramakrishna kapa
 
Batch processing
Batch processingBatch processing
Batch processing
Ramakrishna kapa
 
Msmq connectivity
Msmq connectivityMsmq connectivity
Msmq connectivity
Ramakrishna kapa
 
Scopes in mule
Scopes in muleScopes in mule
Scopes in mule
Ramakrishna kapa
 
Data weave more operations
Data weave more operationsData weave more operations
Data weave more operations
Ramakrishna kapa
 
Basic math operations using dataweave
Basic math operations using dataweaveBasic math operations using dataweave
Basic math operations using dataweave
Ramakrishna kapa
 
Dataweave types operators
Dataweave types operatorsDataweave types operators
Dataweave types operators
Ramakrishna kapa
 
Operators in mule dataweave
Operators in mule dataweaveOperators in mule dataweave
Operators in mule dataweave
Ramakrishna kapa
 
Data weave in mule
Data weave in muleData weave in mule
Data weave in mule
Ramakrishna kapa
 
Servicenow connector
Servicenow connectorServicenow connector
Servicenow connector
Ramakrishna kapa
 
Introduction to testing mule
Introduction to testing muleIntroduction to testing mule
Introduction to testing mule
Ramakrishna kapa
 
Choice flow control
Choice flow controlChoice flow control
Choice flow control
Ramakrishna kapa
 
Message enricher example
Message enricher exampleMessage enricher example
Message enricher example
Ramakrishna kapa
 
Mule exception strategies
Mule exception strategiesMule exception strategies
Mule exception strategies
Ramakrishna kapa
 
Anypoint connector basics
Anypoint connector basicsAnypoint connector basics
Anypoint connector basics
Ramakrishna kapa
 
Mule global elements
Mule global elementsMule global elements
Mule global elements
Ramakrishna kapa
 
Mule message structure and varibles scopes
Mule message structure and varibles scopesMule message structure and varibles scopes
Mule message structure and varibles scopes
Ramakrishna kapa
 
How to create an api in mule
How to create an api in muleHow to create an api in mule
How to create an api in mule
Ramakrishna kapa
 
Log4j is a reliable, fast and flexible
Log4j is a reliable, fast and flexibleLog4j is a reliable, fast and flexible
Log4j is a reliable, fast and flexible
Ramakrishna kapa
 

More from Ramakrishna kapa (20)

Load balancer in mule
Load balancer in muleLoad balancer in mule
Load balancer in mule
 
Anypoint connectors
Anypoint connectorsAnypoint connectors
Anypoint connectors
 
Batch processing
Batch processingBatch processing
Batch processing
 
Msmq connectivity
Msmq connectivityMsmq connectivity
Msmq connectivity
 
Scopes in mule
Scopes in muleScopes in mule
Scopes in mule
 
Data weave more operations
Data weave more operationsData weave more operations
Data weave more operations
 
Basic math operations using dataweave
Basic math operations using dataweaveBasic math operations using dataweave
Basic math operations using dataweave
 
Dataweave types operators
Dataweave types operatorsDataweave types operators
Dataweave types operators
 
Operators in mule dataweave
Operators in mule dataweaveOperators in mule dataweave
Operators in mule dataweave
 
Data weave in mule
Data weave in muleData weave in mule
Data weave in mule
 
Servicenow connector
Servicenow connectorServicenow connector
Servicenow connector
 
Introduction to testing mule
Introduction to testing muleIntroduction to testing mule
Introduction to testing mule
 
Choice flow control
Choice flow controlChoice flow control
Choice flow control
 
Message enricher example
Message enricher exampleMessage enricher example
Message enricher example
 
Mule exception strategies
Mule exception strategiesMule exception strategies
Mule exception strategies
 
Anypoint connector basics
Anypoint connector basicsAnypoint connector basics
Anypoint connector basics
 
Mule global elements
Mule global elementsMule global elements
Mule global elements
 
Mule message structure and varibles scopes
Mule message structure and varibles scopesMule message structure and varibles scopes
Mule message structure and varibles scopes
 
How to create an api in mule
How to create an api in muleHow to create an api in mule
How to create an api in mule
 
Log4j is a reliable, fast and flexible
Log4j is a reliable, fast and flexibleLog4j is a reliable, fast and flexible
Log4j is a reliable, fast and flexible
 

Recently uploaded

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 

Recently uploaded (20)

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 

Apache kafka

  • 1. Apache Kafka is a fast, scalable, durable and distributed messaging system.
  • 2.   We need basic Java programming skills plus access to:  Apache Kafka 0.9.0  Apache Maven 3.0 or later  Git  Step 1: Download Kafka Download the Apache Kafka 0.9.0release and un-tar it. Prerequisites & Installation
  • 3.  Kafka is designed for distributed high throughput systems. Kafka tends to work very well as a replacement for a more traditional message broker. In comparison to other messaging systems, Kafka has better throughput, built-in partitioning, replication and inherent fault-tolerance, which makes it a good fit for large-scale message processing applications. 
  • 4.   A Messaging System is responsible for transferring data from one application to another, so the applications can focus on data, but not worry about how to share it. Distributed messaging is based on the concept of reliable message queuing. Messages are queued asynchronously between client applications and messaging system. Two types of messaging patterns are available − one is point to point and the other is publish-subscribe (pub-sub) messaging system. Most of the messaging patterns follow pub-sub. What is a Messaging System?
  • 5.   In a point-to-point system, messages are persisted in a queue. One or more consumers can consume the messages in the queue, but a particular message can be consumed by a maximum of one consumer only. Once a consumer reads a message in the queue, it disappears from that queue. The typical example of this system is an Order Processing System, where each order will be processed by one Order Processor, but Multiple Order Processors can work as well at the same time. The following diagram depicts the structure. Point to Point Messaging System Sender Message Queue Receiver
  • 6.  In the publish-subscribe system, messages are persisted in a topic. Unlike point-to-point system, consumers can subscribe to one or more topic and consume all the messages in that topic. In the Publish-Subscribe system, message producers are called publishers and message consumers are called subscribers. A real-life example is Dish TV, which publishes different channels like sports, movies, music, etc., and anyone can subscribe to their own set of channels and get them whenever their subscribed channels are available. Publish-Subscribe Messaging System Sender Message Queue Receiver Receiver Receiver
  • 7.   Following are a few benefits of Kafka −  Reliability − Kafka is distributed, partitioned, replicated and fault tolerance.  Scalability − Kafka messaging system scales easily without down time..  Durability − Kafka uses Distributed commit log which means messages persists on disk as fast as possible, hence it is durable..  Performance − Kafka has high throughput for both publishing and subscribing messages. It maintains stable performance even many TB of messages are stored.  Kafka is very fast and guarantees zero downtime and zero data loss. Benefits
  • 8.   Kafka is a unified platform for handling all the real-time data feeds. Kafka supports low latency message delivery and gives guarantee for fault tolerance in the presence of machine failures. It has the ability to handle a large number of diverse consumers. Kafka is very fast, performs 2 million writes/sec. Kafka persists all data to the disk, which essentially means that all the writes go to the page cache of the OS (RAM). This makes it very efficient to transfer data from page cache to a network socket.  Need for Kafka
  • 9.   such as topics, brokers, producers and consumers.  Topics: A stream of messages belonging to a particular category is called a topic. Data is stored in topics  Partition:Topics may have many partitions, so it can handle an arbitrary amount of data.  Partition offset: Each partitioned message has a unique sequence id called as offset  Replicas of partition: Replicas are nothing but backups of a partition. Replicas are never read or write data. They are used to prevent data loss.  Brokers  Brokers are simple system responsible for maintaining the pub-lished data. Each broker may have zero or more partitions per topic. Assume, if there are N partitions in a topic and N number of brokers, each broker will have one partition. Kafka main terminologies
  • 10.   The sample Producer is a classical Java application with a main() method, this application must:  Initialize and configure a producer  Use the producer to send messages  1- Producer Initialization Create a producer is quite simple, you just need to create an instance of the org.apache.kafka.clients.producer.KafkaProducer class with a set of properties, this looks like:  producer = new KafkaProducer(properties); In this example, the configuration is externalized in a property file, with the following entries: Producer
  • 11.   Once you have a producer instance you can post messages to a topic using the ProducerRecord class. The ProducerRecord class is a key/value pair where:  the key is the topic  the value is the message  As you can guess sending a message to the topic is straight forward:  ... producer.send(new ProducerRecord("fast-messages", "This is a dummy message")); ... 2- Message posting
  • 12.  Once you are done with the producer use the producer.close() method that blocks the process until all the messages are sent to the server. This call is used in a finally block to guarantee that it is called. A Kafka producer can also be used in a try with resources construct.  ... }  finally { producer.close();  } Producer End
  • 13.   The Consumer class, like the producer is a simple Java class with a main method.  This sample consumer uses the Hdr Histogram library to record and analyze the messages received from the fast-messages topic, and Jackson to parse JSON messages. Consumer
  • 14.   ZooKeeper is used for managing and coordinating Kafka broker. ZooKeeper service is mainly used to notify producer and consumer about the presence of any new broker in the Kafka system or failure of the broker in the Kafka system. As per the notification received by the Zookeeper regarding presence or failure of the broker then pro-ducer and consumer takes decision and starts coordinating their task with some other broker.  Kafka stores basic metadata in Zookeeper such as information about topics, brokers, consumer offsets (queue readers) and so on. ZooKeeper