SlideShare a Scribd company logo
4
Most read
8
Most read
9
Most read
Presented By:
Kafka: Internals
Sourabh Verma
Software Consultant
Agenda
● Brief Introduction to Kafka - it’s need?
● Key Terminologies - Zookeeper, Broker, Topic, Partitions,
Offsets, and Replication.
● IT Team and Kafka Cluster Analogy.
● Summarize the Core components and responsibilities.
● Kafka Tuning: Availability & Consistency.
● Delivery Semantics.
● Producer Tuning - Configs. (BONUS)
● DEMO
Brief Introduction to Kafka - it’s need?
● Kafka is a horizontally scalable, fault tolerant, and fast messaging system. It’s a pub-
sub model in which various producers and consumers can write and read. It
decouples source and target systems.
Few Use Cases:
● Scale to hundreds of nodes.
● Can handle millions of messages per second.
● Real-time processing (~10ms).
Key Terminologies
● ZooKeeper is a centralized service for managing distributed systems. It acts as
ensemble layer (ties things together) and ensures high availability of the Kafka
cluster.
● ZooKeeper stores metadata and the current state of the Kafka cluster. For example,
details like topic name, the number of partitions, replication, leader details of
partition, and In-Sync Replicas are stored in ZooKeeper. (After Kafka 0.10,
consumer offsets are not stored in ZooKeeper).
● Broker is a single Kafka node that is managed by ZooKeeper. A set of brokers form a
Kafka cluster. Topics that are created in Kafka are distributed across brokers based
on the partition, replication, and other factors.
Note: When a broker node fails based on the state stored in ZooKeeper it
automatically rebalances the cluster and if a leader partition is lost then one of the
follower partition (ISR) is elected as the leader.
● Topic is a specific stream of data. It is very similar to a table in a NoSQL database.
Like tables in a NoSQL database, the topic is split into partitions that enable topics
to be distributed across various nodes. Like primary keys in tables, topics have
offsets per partitions. You can uniquely identify a message using its topic,
partition, and offset.
Key Terminologies
● Partitions enable topics to be distributed across the cluster. Partitions are a unit of
parallelism for horizontal scalability. One topic can have more than one partition
scaling across nodes.
Messages are assigned to partitions based on partition keys, if there are no partition
keys then the partition is randomly assigned. It’s important to use the correct key
to avoid hotspots.
● Offsets - Each message in a partition is assigned an incremental id called an offset.
Offsets are unique per partition and messages are ordered only within a
partition. Messages written to partitions are immutable.
Note: Messages are not ordered between multiple partitions.
Key Terminologies
● Replication is making a copy of a partition available in another broker. Replication
enables Kafka to be fault tolerant. When a partition of the topic is available in
multiple brokers then one of the partitions in a broker is elected as the leader and the
rest of the replications of the partition are followers.
● Replication enables Kafka to be fault tolerant even when a broker is down, the
partition from another broker is elected as a leader and it starts serving the producers
and consumer groups. Replica partitions that are in sync with the leader are flagged
as ISR (In Sync Replica).
IT Team and Kafka Cluster Analogy.
Summarize the Core components and responsibilities.
● ZooKeeper manages Kafka brokers and their metadata.
● Brokers are horizontally scalable Kafka nodes that contain topics and it's replications.
● Topics are message streams with one or more partitions.
● Partitions contains messages with unique offsets per partition.
● Replication enables Kafka to be fault tolerant using follower partitions (ISRs).
Kafka Tuning: Availability & Consistency
● Cluster Size (N): Number of nodes/brokers in the Kafka cluster, we should have
2x+1, i.e. at least 3 nodes or more in an odd number.
● Partitions: Topic is divided into partitions (by default 1), but we should have M times
N, where M can be any integer number, i.e. M >= 1, to achieve more parallelism and
partitioning of data over the cluster. (only if order is not a concern.)
● Replication Factor: determines the number of copies (including the original/Leader)
of each partition in the cluster. All replicas of a partition exist on separate
node/broker, and we should never have R.F. > N, but at least 3.
We recommend having 3 RF with 3 or 5 nodes cluster. This helps in having both
availabilities as well as consistency.
● In-sync Replica (ISR): Number of minimum replicas (including the leader) synced
up, i.e. available for the producer to successfully send messages to the partition.
This inversely impacts the availability for producer i.e. lower the ISR more the
availability and lesser the consistency and vice versa. we should always have ISR
lower than RF. We recommend having 2 ISR for topics with RF as 3.
Note: Setting ISR to 1 is almost equivalent to having no replication in a system.
Kafka Tuning: Availability & Consistency
● Acknowledgment: message to be written into the number of replicas before it is
acknowledged to the producer.
a. Setting acks to 0 will make the system to send acknowledgment without writing
the message which may lose the data,
b. setting it to 1 means it should be written at least to the leader replica,
c. and setting it to all means message should be written to all in-sync replica which
helps in consistency but drops the availability.
Note: Setting acks to 0 or 1 can lead to loss of data & inconsistent partitions, in case
of leader failure, the next ISR replica might not be aware of the recent message which will
cause inconsistency in order of events in replicas.
● Unclean Leader Election: in case of failure of all ISR, out-of-sync replica is elected
as Leader, setting this to TRUE is not recommended at all, as it will lose the
consistency of the system, this should be used only and only if we need the 100%
availability irrespective of the consistency.
Delivery Semantics
● Acks = 0: At most once delivery semantics. The producer uses “send and forget
approach”. High data loss.
● Acks = 1: At least once delivery semantics. Moderate data loss and Duplicate.
● Acks = ALL: exactly once delivery semantics (acks to all min.insync.replica). No
data loss.
Producer Tuning - Configs
● Batch.size – batch size (messages) per request, producer will write to the partition
leader when the batch will be full (even if the linger.ms is not completed.)
● Linger.ms – Time to wait before sending the current batch, if the time is elapsed
even the batch is not full, producer will start sending the events to the Broker.
● Max.in.flight.requests.per.connection - The number of messages to be sent
without any acknowledgment. Default is 5. Set this to 1 to avoid out of order message
due to retry.
References
● Kafka Documentation
● Kafka Technical Overview
● Kafka Tuning: Consistency vs Availability
Thank You !

More Related Content

What's hot (20)

PPTX
Apache kafka
Kumar Shivam
 
PPTX
Apache kafka
Viswanath J
 
PPTX
Apache kafka
Long Nguyen
 
PPTX
Kafka presentation
Mohammed Fazuluddin
 
PDF
Troubleshooting Kafka's socket server: from incident to resolution
Joel Koshy
 
PPTX
Apache Kafka - Messaging System Overview
Dmitry Tolpeko
 
PDF
Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra...
HostedbyConfluent
 
PPTX
The RabbitMQ Message Broker
Martin Toshev
 
PPTX
Apache Kafka
emreakis
 
PPTX
Rabbit MQ introduction
Shirish Bari
 
PDF
Kafka in action - Tech Talk - Paytm
Sumit Jain
 
PDF
Apache Kafka Fundamentals for Architects, Admins and Developers
confluent
 
PDF
Apache Kafka - Martin Podval
Martin Podval
 
PPTX
From cache to in-memory data grid. Introduction to Hazelcast.
Taras Matyashovsky
 
PPTX
Introduction to Apache Kafka
Jeff Holoman
 
PDF
Kafka on Pulsar
StreamNative
 
PPTX
Apache kafka
Srikrishna k
 
PPTX
Kafka 101
Clement Demonchy
 
PDF
Hello, kafka! (an introduction to apache kafka)
Timothy Spann
 
Apache kafka
Kumar Shivam
 
Apache kafka
Viswanath J
 
Apache kafka
Long Nguyen
 
Kafka presentation
Mohammed Fazuluddin
 
Troubleshooting Kafka's socket server: from incident to resolution
Joel Koshy
 
Apache Kafka - Messaging System Overview
Dmitry Tolpeko
 
Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra...
HostedbyConfluent
 
The RabbitMQ Message Broker
Martin Toshev
 
Apache Kafka
emreakis
 
Rabbit MQ introduction
Shirish Bari
 
Kafka in action - Tech Talk - Paytm
Sumit Jain
 
Apache Kafka Fundamentals for Architects, Admins and Developers
confluent
 
Apache Kafka - Martin Podval
Martin Podval
 
From cache to in-memory data grid. Introduction to Hazelcast.
Taras Matyashovsky
 
Introduction to Apache Kafka
Jeff Holoman
 
Kafka on Pulsar
StreamNative
 
Apache kafka
Srikrishna k
 
Kafka 101
Clement Demonchy
 
Hello, kafka! (an introduction to apache kafka)
Timothy Spann
 

Similar to Kafka: Internals (20)

PDF
Kafka Technical Overview
Sylvester John
 
PPTX
Fundamentals and Architecture of Apache Kafka
Angelo Cesaro
 
PPTX
Kafka basics and best prectices
RohitSingh542417
 
PDF
Kafka Reliable Data Delivery
Mostafa Asgari
 
PDF
Building zero data loss pipelines with apache kafka
Avinash Ramineni
 
PPTX
Kafka overview v0.1
Mahendran Ponnusamy
 
PDF
Apache Kafka Women Who Code Meetup
Snehal Nagmote
 
PDF
Seek and Destroy Kafka Under Replication
HostedbyConfluent
 
PPTX
Introduction to Kafka
Ducas Francis
 
PPTX
APACHE KAFKA / Kafka Connect / Kafka Streams
Ketan Gote
 
PPTX
Apache Kafka Reliability
Jeff Holoman
 
PDF
Reliability Guarantees for Apache Kafka
confluent
 
PDF
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...
confluent
 
PPTX
Streaming in Practice - Putting Apache Kafka in Production
confluent
 
PDF
Introduction to apache kafka
Samuel Kerrien
 
PDF
kafka
Ariel Moskovich
 
PPTX
Session 23 - Kafka and Zookeeper
AnandMHadoop
 
PDF
Kafka 10000 feet view
younessx01
 
PPTX
Kafka Fundamentals
Ketan Keshri
 
PDF
Non-Kafkaesque Apache Kafka - Yottabyte 2018
Otávio Carvalho
 
Kafka Technical Overview
Sylvester John
 
Fundamentals and Architecture of Apache Kafka
Angelo Cesaro
 
Kafka basics and best prectices
RohitSingh542417
 
Kafka Reliable Data Delivery
Mostafa Asgari
 
Building zero data loss pipelines with apache kafka
Avinash Ramineni
 
Kafka overview v0.1
Mahendran Ponnusamy
 
Apache Kafka Women Who Code Meetup
Snehal Nagmote
 
Seek and Destroy Kafka Under Replication
HostedbyConfluent
 
Introduction to Kafka
Ducas Francis
 
APACHE KAFKA / Kafka Connect / Kafka Streams
Ketan Gote
 
Apache Kafka Reliability
Jeff Holoman
 
Reliability Guarantees for Apache Kafka
confluent
 
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...
confluent
 
Streaming in Practice - Putting Apache Kafka in Production
confluent
 
Introduction to apache kafka
Samuel Kerrien
 
Session 23 - Kafka and Zookeeper
AnandMHadoop
 
Kafka 10000 feet view
younessx01
 
Kafka Fundamentals
Ketan Keshri
 
Non-Kafkaesque Apache Kafka - Yottabyte 2018
Otávio Carvalho
 
Ad

More from Knoldus Inc. (20)

PPTX
Angular Hydration Presentation (FrontEnd)
Knoldus Inc.
 
PPTX
Optimizing Test Execution: Heuristic Algorithm for Self-Healing
Knoldus Inc.
 
PPTX
Self-Healing Test Automation Framework - Healenium
Knoldus Inc.
 
PPTX
Kanban Metrics Presentation (Project Management)
Knoldus Inc.
 
PPTX
Java 17 features and implementation.pptx
Knoldus Inc.
 
PPTX
Chaos Mesh Introducing Chaos in Kubernetes
Knoldus Inc.
 
PPTX
GraalVM - A Step Ahead of JVM Presentation
Knoldus Inc.
 
PPTX
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
PPTX
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
PPTX
DAPR - Distributed Application Runtime Presentation
Knoldus Inc.
 
PPTX
Introduction to Azure Virtual WAN Presentation
Knoldus Inc.
 
PPTX
Introduction to Argo Rollouts Presentation
Knoldus Inc.
 
PPTX
Intro to Azure Container App Presentation
Knoldus Inc.
 
PPTX
Insights Unveiled Test Reporting and Observability Excellence
Knoldus Inc.
 
PPTX
Introduction to Splunk Presentation (DevOps)
Knoldus Inc.
 
PPTX
Code Camp - Data Profiling and Quality Analysis Framework
Knoldus Inc.
 
PPTX
AWS: Messaging Services in AWS Presentation
Knoldus Inc.
 
PPTX
Amazon Cognito: A Primer on Authentication and Authorization
Knoldus Inc.
 
PPTX
ZIO Http A Functional Approach to Scalable and Type-Safe Web Development
Knoldus Inc.
 
PPTX
Managing State & HTTP Requests In Ionic.
Knoldus Inc.
 
Angular Hydration Presentation (FrontEnd)
Knoldus Inc.
 
Optimizing Test Execution: Heuristic Algorithm for Self-Healing
Knoldus Inc.
 
Self-Healing Test Automation Framework - Healenium
Knoldus Inc.
 
Kanban Metrics Presentation (Project Management)
Knoldus Inc.
 
Java 17 features and implementation.pptx
Knoldus Inc.
 
Chaos Mesh Introducing Chaos in Kubernetes
Knoldus Inc.
 
GraalVM - A Step Ahead of JVM Presentation
Knoldus Inc.
 
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
Nomad by HashiCorp Presentation (DevOps)
Knoldus Inc.
 
DAPR - Distributed Application Runtime Presentation
Knoldus Inc.
 
Introduction to Azure Virtual WAN Presentation
Knoldus Inc.
 
Introduction to Argo Rollouts Presentation
Knoldus Inc.
 
Intro to Azure Container App Presentation
Knoldus Inc.
 
Insights Unveiled Test Reporting and Observability Excellence
Knoldus Inc.
 
Introduction to Splunk Presentation (DevOps)
Knoldus Inc.
 
Code Camp - Data Profiling and Quality Analysis Framework
Knoldus Inc.
 
AWS: Messaging Services in AWS Presentation
Knoldus Inc.
 
Amazon Cognito: A Primer on Authentication and Authorization
Knoldus Inc.
 
ZIO Http A Functional Approach to Scalable and Type-Safe Web Development
Knoldus Inc.
 
Managing State & HTTP Requests In Ionic.
Knoldus Inc.
 
Ad

Recently uploaded (20)

PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 

Kafka: Internals

  • 1. Presented By: Kafka: Internals Sourabh Verma Software Consultant
  • 2. Agenda ● Brief Introduction to Kafka - it’s need? ● Key Terminologies - Zookeeper, Broker, Topic, Partitions, Offsets, and Replication. ● IT Team and Kafka Cluster Analogy. ● Summarize the Core components and responsibilities. ● Kafka Tuning: Availability & Consistency. ● Delivery Semantics. ● Producer Tuning - Configs. (BONUS) ● DEMO
  • 3. Brief Introduction to Kafka - it’s need? ● Kafka is a horizontally scalable, fault tolerant, and fast messaging system. It’s a pub- sub model in which various producers and consumers can write and read. It decouples source and target systems. Few Use Cases: ● Scale to hundreds of nodes. ● Can handle millions of messages per second. ● Real-time processing (~10ms).
  • 4. Key Terminologies ● ZooKeeper is a centralized service for managing distributed systems. It acts as ensemble layer (ties things together) and ensures high availability of the Kafka cluster. ● ZooKeeper stores metadata and the current state of the Kafka cluster. For example, details like topic name, the number of partitions, replication, leader details of partition, and In-Sync Replicas are stored in ZooKeeper. (After Kafka 0.10, consumer offsets are not stored in ZooKeeper). ● Broker is a single Kafka node that is managed by ZooKeeper. A set of brokers form a Kafka cluster. Topics that are created in Kafka are distributed across brokers based on the partition, replication, and other factors. Note: When a broker node fails based on the state stored in ZooKeeper it automatically rebalances the cluster and if a leader partition is lost then one of the follower partition (ISR) is elected as the leader. ● Topic is a specific stream of data. It is very similar to a table in a NoSQL database. Like tables in a NoSQL database, the topic is split into partitions that enable topics to be distributed across various nodes. Like primary keys in tables, topics have offsets per partitions. You can uniquely identify a message using its topic, partition, and offset.
  • 5. Key Terminologies ● Partitions enable topics to be distributed across the cluster. Partitions are a unit of parallelism for horizontal scalability. One topic can have more than one partition scaling across nodes. Messages are assigned to partitions based on partition keys, if there are no partition keys then the partition is randomly assigned. It’s important to use the correct key to avoid hotspots. ● Offsets - Each message in a partition is assigned an incremental id called an offset. Offsets are unique per partition and messages are ordered only within a partition. Messages written to partitions are immutable. Note: Messages are not ordered between multiple partitions.
  • 6. Key Terminologies ● Replication is making a copy of a partition available in another broker. Replication enables Kafka to be fault tolerant. When a partition of the topic is available in multiple brokers then one of the partitions in a broker is elected as the leader and the rest of the replications of the partition are followers. ● Replication enables Kafka to be fault tolerant even when a broker is down, the partition from another broker is elected as a leader and it starts serving the producers and consumer groups. Replica partitions that are in sync with the leader are flagged as ISR (In Sync Replica).
  • 7. IT Team and Kafka Cluster Analogy.
  • 8. Summarize the Core components and responsibilities. ● ZooKeeper manages Kafka brokers and their metadata. ● Brokers are horizontally scalable Kafka nodes that contain topics and it's replications. ● Topics are message streams with one or more partitions. ● Partitions contains messages with unique offsets per partition. ● Replication enables Kafka to be fault tolerant using follower partitions (ISRs).
  • 9. Kafka Tuning: Availability & Consistency ● Cluster Size (N): Number of nodes/brokers in the Kafka cluster, we should have 2x+1, i.e. at least 3 nodes or more in an odd number. ● Partitions: Topic is divided into partitions (by default 1), but we should have M times N, where M can be any integer number, i.e. M >= 1, to achieve more parallelism and partitioning of data over the cluster. (only if order is not a concern.) ● Replication Factor: determines the number of copies (including the original/Leader) of each partition in the cluster. All replicas of a partition exist on separate node/broker, and we should never have R.F. > N, but at least 3. We recommend having 3 RF with 3 or 5 nodes cluster. This helps in having both availabilities as well as consistency. ● In-sync Replica (ISR): Number of minimum replicas (including the leader) synced up, i.e. available for the producer to successfully send messages to the partition. This inversely impacts the availability for producer i.e. lower the ISR more the availability and lesser the consistency and vice versa. we should always have ISR lower than RF. We recommend having 2 ISR for topics with RF as 3. Note: Setting ISR to 1 is almost equivalent to having no replication in a system.
  • 10. Kafka Tuning: Availability & Consistency ● Acknowledgment: message to be written into the number of replicas before it is acknowledged to the producer. a. Setting acks to 0 will make the system to send acknowledgment without writing the message which may lose the data, b. setting it to 1 means it should be written at least to the leader replica, c. and setting it to all means message should be written to all in-sync replica which helps in consistency but drops the availability. Note: Setting acks to 0 or 1 can lead to loss of data & inconsistent partitions, in case of leader failure, the next ISR replica might not be aware of the recent message which will cause inconsistency in order of events in replicas. ● Unclean Leader Election: in case of failure of all ISR, out-of-sync replica is elected as Leader, setting this to TRUE is not recommended at all, as it will lose the consistency of the system, this should be used only and only if we need the 100% availability irrespective of the consistency.
  • 11. Delivery Semantics ● Acks = 0: At most once delivery semantics. The producer uses “send and forget approach”. High data loss. ● Acks = 1: At least once delivery semantics. Moderate data loss and Duplicate. ● Acks = ALL: exactly once delivery semantics (acks to all min.insync.replica). No data loss.
  • 12. Producer Tuning - Configs ● Batch.size – batch size (messages) per request, producer will write to the partition leader when the batch will be full (even if the linger.ms is not completed.) ● Linger.ms – Time to wait before sending the current batch, if the time is elapsed even the batch is not full, producer will start sending the events to the Broker. ● Max.in.flight.requests.per.connection - The number of messages to be sent without any acknowledgment. Default is 5. Set this to 1 to avoid out of order message due to retry.
  • 13. References ● Kafka Documentation ● Kafka Technical Overview ● Kafka Tuning: Consistency vs Availability