SlideShare a Scribd company logo
Apache Kafka® 101
@yourtwitterhandle | developer.confluent.io
What’s Covered
1. Introduction
2. Hands On: Your First Kafka Application in 10
Minutes or Less
3. Topics
4. Partitioning
5. Hands On: Partitioning
6. Brokers
7. Replication
8. Producers
9. Consumers
10.Hands On: Consumers
11.Ecosystem
12.Kafka Connect
13.Hands On: Kafka Connect
14.Confluent Schema Registry
15.Hands On: Confluent Schema Registry
16.Kafka Streams
17.ksqlDB
18.Hands On: ksqlDB
Introduction
@yourtwitterhandle | developer.confluent.io
Event
● Internet of Things
@yourtwitterhandle | developer.confluent.io
Event
● Internet of Things
● Business process change
@yourtwitterhandle | developer.confluent.io
Event
● Internet of Things
● Business process change
● User Interaction
@yourtwitterhandle | developer.confluent.io
Event
● Internet of Things
● Business process change
● User Interaction
● Microservice output
@yourtwitterhandle | developer.confluent.io
Notification
+
State
@yourtwitterhandle | developer.confluent.io
Key
Value
Hands On: Your First Kafka Application
in 10 Minutes or Less
GET STARTED TODAY
Confluent Cloud
cnfl.io/confluent-cloud
PROMO CODE: KAFKA101
$101 of free usage
@yourtwitterhandle | developer.confluent.io
Hands On: Your First Kafka Application in 10 Minutes or
Less
Topics
@yourtwitterhandle | developer.confluent.io
Topics
@yourtwitterhandle | developer.confluent.io
Topics
● Named container for similar events
@yourtwitterhandle | developer.confluent.io
Topics
● Named container for similar events
○ System contains lots of topics
○ Can duplicate data between topics
@yourtwitterhandle | developer.confluent.io
Topics
● Named container for similar events
○ System contains lots of topics
○ Can duplicate data between topics
● Durable logs of events
@yourtwitterhandle | developer.confluent.io
Topics
● Named container for similar events
○ System contains lots of topics
○ Can duplicate data between topics
● Durable logs of events
○ Append only
@yourtwitterhandle | developer.confluent.io
Topics
● Named container for similar events
○ System contains lots of topics
○ Can duplicate data between topics
● Durable logs of events
○ Append only
○ Can only seek by offset, not indexed
@yourtwitterhandle | developer.confluent.io
Topics
● Named container for similar events
○ System contains lots of topics
○ Can duplicate data between topics
● Durable logs of events
○ Append only
○ Can only seek by offset, not indexed
● Events are immutable
@yourtwitterhandle | developer.confluent.io
Topics are durable
@yourtwitterhandle | developer.confluent.io
Retention period is configurable
Partitioning
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
Partitioned Topic
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
1 4 7
2 5 8
3 6 9
#
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
1 2 3
4 5 7
6 8 9
#
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
#
1 2 3
4 5 7
6 8 9
Hands On: Partitioning
@yourtwitterhandle | developer.confluent.io
Hands On: Partitioning
Brokers
@yourtwitterhandle | developer.confluent.io
Brokers
● An computer, instance, or container running the Kafka process
@yourtwitterhandle | developer.confluent.io
Brokers
● An computer, instance, or container running the Kafka process
● Manage partitions
● Handle write and read requests
@yourtwitterhandle | developer.confluent.io
Brokers
● An computer, instance, or container running the Kafka process
● Manage partitions
● Handle write and read requests
● Manage replication of partitions
@yourtwitterhandle | developer.confluent.io
Brokers
● An computer, instance, or container running the Kafka process
● Manage partitions
● Handle write and read requests
● Manage replication of partitions
● Intentionally very simple
Replication
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
Partitioned Topic
@yourtwitterhandle | developer.confluent.io
Replication
● Copies of data for fault tolerance
@yourtwitterhandle | developer.confluent.io
Replication
● Copies of data for fault tolerance
● One lead partition and N-1 followers
@yourtwitterhandle | developer.confluent.io
Replication
● Copies of data for fault tolerance
● One lead partition and N-1 followers
● In general, writes and reads happen to the leader
@yourtwitterhandle | developer.confluent.io
Replication
● Copies of data for fault tolerance
● One lead partition and N-1 followers
● In general, writes and reads happen to the leader
● An invisible process to most developers
@yourtwitterhandle | developer.confluent.io
Replication
● Copies of data for fault tolerance
● One lead partition and N-1 followers
● In general, writes and reads happen to the leader
● An invisible process to most developers
● Tunable in the producer
Producers
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
Partitioned Topic
Producer
@yourtwitterhandle | developer.confluent.io
{
final Properties props = KafkaProducerApplication.loadProperties(args[0]);
final String topic = props.getProperty(“output.topic.name”);
final Producer<String, String> producer = new KafkaProducer<>(props);
final KafkaProducerApplication producerApp = new KafkaProducerApplication(producer, topic);
}
@yourtwitterhandle | developer.confluent.io
{
final ProducerRecord<String, String> producerRecord = new ProducerRecord<>(outTopic, key, value);
return producer.send(producerRecord);
}
@yourtwitterhandle | developer.confluent.io
Producers
● Client application
● Puts messages into topics
● Connection pooling
● Network buffering
● Partitioning
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
Partitioned Topic
Producer
Consumers
@yourtwitterhandle | developer.confluent.io
{
final Properties consumerAppProps = KafkaConsumerApplication.loadProperties(args[0]);
final String filePath = consumerAppProps.getProperty(“file.path”);
final Consumer<String, String> consumer = new KafkaConsumer<>(consumerAppProps);
final ConsumerRecordsHandler<String, String> recordsHandler = new FilewritingrecordsHandler(Paths.get(filePa …
final KafkaConsumerapplication consumerApplication = new KafkaConsumerApplication(consumer, recordsHandler);
@yourtwitterhandle | developer.confluent.io
@ public void runConsume(final Properties consumerProps) {
try {
consumer.subscribe(Collections.singletonList(consumerProps.getProperty(“input.topic.name”)));
while (keepConsuming) {
final ConsumerRecords<String, String> consumerRecords
=vconsumer.poll(Duration.ofSeconds(1));
recordsHandler.process(consumerRecords);
}
@yourtwitterhandle | developer.confluent.io
@ public void process(final ConsumerRecords<String, String> consumerRecords) {
final List<String> valueList = new ArrayList<>();
consumerRecords.forEach(record -> valueList.add(record.value()));
if (!valueList.isEmpty()) {
try {
Files.write(path, valueList, StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption …
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
@yourtwitterhandle | developer.confluent.io
Consumers
● Client application
● Reads messages from topics
● Connection pooling
● Network protocol
● Horizontally and elastically scalable
● Maintains ordering within partitions at scale
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
Partitioned Topic
Consumer A
Consumer B
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
Partitioned Topic
Consumer A
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
Partitioned Topic
Consumer A
Consumer A
Consumer B
@yourtwitterhandle | developer.confluent.io
java application > configuration > dev.properties
1 group.id=movie_ratings
2
3 bootstrap.servers=localhost:29092
4
5 key.serializer=org.apache.kafka.common.serialization.StringSerializer
6 value.serializer=org.apache.kafka.common.serialization.StringSerializer
7 acks=all
8
9 #Properties below this line are specific to code in this application
10 input.topic.name=input-topic
11 output.topic.name=output-topic
@yourtwitterhandle | developer.confluent.io
Partition 0
Partition 1
Partition 2
Partitioned Topic
Consumer A
Consumer A
Consumer B
Consumer A
Hands On: Consumers
@yourtwitterhandle | developer.confluent.io
Hands On: Consumers
Ecosystem
Kafka Connect
@yourtwitterhandle | developer.confluent.io
Kafka Connect
● Data integration system and ecosystem
● Because some other systems are not Kafka
● External client process; does not run on brokers
@yourtwitterhandle | developer.confluent.io
Cluster
Data Source Kafka Connect Kafka Connect Data Sink
@yourtwitterhandle | developer.confluent.io
Kafka Connect
● Data integration system and ecosystem
● Because some other systems are not Kafka
● External client process; does not run on brokers
● Horizontally scalable
● Fault tolerant
@yourtwitterhandle | developer.confluent.io
{
“connector.class”: “io.confluent.connect.elasticsearch.ElasticsearchSinkConnector”,
“connector.url”: “http://elasticsearch:9200”,
“tasks.max”: “1”,
“topics”: “simple.elasticsearch.data”,
“name”: “simple-elasticsearch-connector”,
“type.name”: “doc”,
“value.converter”: “org.apache.kafka.connect.json.JsonConverter”
“value.converter.schemas.enable”: “false”
}
@yourtwitterhandle | developer.confluent.io
Kafka Connect
● Data integration system and ecosystem
● Because some other systems are not Kafka
● External client process; does not run on brokers
● Horizontally scalable
● Fault tolerant
● Declarative
@yourtwitterhandle | developer.confluent.io
Connectors
● Pluggable software component
@yourtwitterhandle | developer.confluent.io
Connectors
● Pluggable software component
● Interfaces to external system and to Kafka
@yourtwitterhandle | developer.confluent.io
Connectors
● Pluggable software component
● Interfaces to external system and to Kafka
● Also exist as runtime entities
@yourtwitterhandle | developer.confluent.io
Connectors
● Pluggable software component
● Interfaces to external system and to Kafka
● Also exist as runtime entities
● Source connectors act as producers
@yourtwitterhandle | developer.confluent.io
Connectors
● Pluggable software component
● Interfaces to external system and to Kafka
● Also exist as runtime entities
● Source connectors act as producers
● Sink connectors act as consumers
@yourtwitterhandle | developer.confluent.io
Hands On: Kafka Connect
@yourtwitterhandle | developer.confluent.io
Hands On: Kafka Connect
Confluent Schema Registry
@yourtwitterhandle | developer.confluent.io
New consumers will emerge
@yourtwitterhandle | developer.confluent.io
Schemas evolve with the business
@yourtwitterhandle | developer.confluent.io
Schema Registry
● Server process external to Kafka brokers
@yourtwitterhandle | developer.confluent.io
Schema Registry
● Server process external to Kafka brokers
● Maintains a database of schemas
@yourtwitterhandle | developer.confluent.io
Schema Registry
● Server process external to Kafka brokers
● Maintains a database of schemas
● HA deployment option available
@yourtwitterhandle | developer.confluent.io
Schema Registry
● Server process external to Kafka brokers
● Maintains a database of schemas
● HA deployment option available
● Consumer/Producer API component
@yourtwitterhandle | developer.confluent.io
Schema Registry
● Defines schema compatibility rules per topic
@yourtwitterhandle | developer.confluent.io
Schema Registry
● Defines schema compatibility rules per topic
● Producer API prevents incompatible messages from being produced
@yourtwitterhandle | developer.confluent.io
Schema Registry
● Defines schema compatibility rules per topic
● Producer API prevents incompatible messages from being produced
● Consumer API prevents incompatible messages from being consumer
@yourtwitterhandle | developer.confluent.io
Supported Formats
● JSON Schema
● Avro
● Protocol Buffers
Hands On: Confluent Schema Registry
@yourtwitterhandle | developer.confluent.io
Hands On: Confluent Schema Registry
Kafka Streams
@yourtwitterhandle | developer.confluent.io
Kafka Streams
● Functional Java API
@yourtwitterhandle | developer.confluent.io
Kafka Streams
● Functional Java API
● Filtering, grouping, aggregating, joining, and more
@yourtwitterhandle | developer.confluent.io
Kafka Streams
● Functional Java API
● Filtering, grouping, aggregating, joining, and more
● Scalable, fault-tolerant state management
@yourtwitterhandle | developer.confluent.io
Kafka Streams
● Functional Java API
● Filtering, grouping, aggregating, joining, and more
● Scalable, fault-tolerant state management
● Scalable computation based on consumer groups
@yourtwitterhandle | developer.confluent.io
Kafka Streams
● Integrates within your services as a library
@yourtwitterhandle | developer.confluent.io
Kafka Streams
● Integrates within your services as a library
● Runs in the context of your application
@yourtwitterhandle | developer.confluent.io
Kafka Streams
● Integrates within your services as a library
● Runs in the context of your application
● Does not require special infrastructure
@yourtwitterhandle | developer.confluent.io
Insert Code: https://youtu.be/UbNoL5tJEjc?t=443
ksqlDB
@yourtwitterhandle | developer.confluent.io
ksqlDB
● A database optimized for stream processing
@yourtwitterhandle | developer.confluent.io
ksqlDB
● A database optimized for stream processing
● Runs on its own scalable, fault-tolerant cluster adjacent to the Kafka
cluster
@yourtwitterhandle | developer.confluent.io
ksqlDB
● A database optimized for stream processing
● Runs on its own scalable, fault-tolerant cluster adjacent to the Kafka
cluster
● Stream processing programs written in SQL
@yourtwitterhandle | developer.confluent.io
src > main > ksql > rate-movies.sql
1
2 CREATE TABLE rated_movies AS
3 SELECT title,
4 SUM(rating)/COUNT(rating) AS avg_rating
5 FROM ratings
6 INNER JOIN movies
7 ON ratings.movie_id=movies.movie_id
8 GROUP BY title EMIT CHANGES;
@yourtwitterhandle | developer.confluent.io
ksqlDB
● Command line interface
● REST API for application integration
@yourtwitterhandle | developer.confluent.io
ksqlDB
● Command line interface
● REST API for application integration
● Java library
@yourtwitterhandle | developer.confluent.io
ksqlDB
● Command line interface
● REST API for application integration
● Java library
● Kafka Connect integration
Hands On: ksqlDB
@yourtwitterhandle | developer.confluent.io
Hands On: ksqlDB
Your Apache Kafka
journey begins here
developer.confluent.io
Apache Kafka 101 by Confluent Developer Friendly
Ad

More Related Content

Similar to Apache Kafka 101 by Confluent Developer Friendly (20)

Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
confluent
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
Ricardo Bravo
 
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support PerspectiveApache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
HostedbyConfluent
 
Orchestrating Cloud Applications With TOSCA
Orchestrating Cloud Applications With TOSCAOrchestrating Cloud Applications With TOSCA
Orchestrating Cloud Applications With TOSCA
Arthur Berezin
 
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
One year solving infrastructure management with FusionDirectory and OpenLDAP,...One year solving infrastructure management with FusionDirectory and OpenLDAP,...
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
OW2
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Weaveworks
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Ambassador Labs
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
kloia
 
Intermediate git
Intermediate gitIntermediate git
Intermediate git
Dan Shrader
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
C4Media
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
WSO2
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdf
Jose Manuel Ortega Candel
 
Tokyo AK Meetup Speedtest - Share.pdf
Tokyo AK Meetup Speedtest - Share.pdfTokyo AK Meetup Speedtest - Share.pdf
Tokyo AK Meetup Speedtest - Share.pdf
ssuser2ae721
 
OSMC 2009 | NConf - Enterprise Nagios configurator by Angelo Gargiulo
OSMC 2009 | NConf - Enterprise Nagios configurator by Angelo GargiuloOSMC 2009 | NConf - Enterprise Nagios configurator by Angelo Gargiulo
OSMC 2009 | NConf - Enterprise Nagios configurator by Angelo Gargiulo
NETWAYS
 
Citi Tech Talk: Monitoring and Performance
Citi Tech Talk: Monitoring and PerformanceCiti Tech Talk: Monitoring and Performance
Citi Tech Talk: Monitoring and Performance
confluent
 
Introducción a Stream Processing utilizando Kafka Streams
Introducción a Stream Processing utilizando Kafka StreamsIntroducción a Stream Processing utilizando Kafka Streams
Introducción a Stream Processing utilizando Kafka Streams
confluent
 
Taking your code to production
Taking your code to productionTaking your code to production
Taking your code to production
muayyad alsadi
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
NETWAYS
 
DDD with Behat
DDD with BehatDDD with Behat
DDD with Behat
Anton Serdyuk
 
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningApache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Guido Schmutz
 
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)
confluent
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
Ricardo Bravo
 
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support PerspectiveApache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
HostedbyConfluent
 
Orchestrating Cloud Applications With TOSCA
Orchestrating Cloud Applications With TOSCAOrchestrating Cloud Applications With TOSCA
Orchestrating Cloud Applications With TOSCA
Arthur Berezin
 
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
One year solving infrastructure management with FusionDirectory and OpenLDAP,...One year solving infrastructure management with FusionDirectory and OpenLDAP,...
One year solving infrastructure management with FusionDirectory and OpenLDAP,...
OW2
 
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and LinkerdIntro to GitOps with Weave GitOps, Flagger and Linkerd
Intro to GitOps with Weave GitOps, Flagger and Linkerd
Weaveworks
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Ambassador Labs
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
kloia
 
Intermediate git
Intermediate gitIntermediate git
Intermediate git
Dan Shrader
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
C4Media
 
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise IntegratorTroubleshooting and Best Practices with WSO2 Enterprise Integrator
Troubleshooting and Best Practices with WSO2 Enterprise Integrator
WSO2
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdf
Jose Manuel Ortega Candel
 
Tokyo AK Meetup Speedtest - Share.pdf
Tokyo AK Meetup Speedtest - Share.pdfTokyo AK Meetup Speedtest - Share.pdf
Tokyo AK Meetup Speedtest - Share.pdf
ssuser2ae721
 
OSMC 2009 | NConf - Enterprise Nagios configurator by Angelo Gargiulo
OSMC 2009 | NConf - Enterprise Nagios configurator by Angelo GargiuloOSMC 2009 | NConf - Enterprise Nagios configurator by Angelo Gargiulo
OSMC 2009 | NConf - Enterprise Nagios configurator by Angelo Gargiulo
NETWAYS
 
Citi Tech Talk: Monitoring and Performance
Citi Tech Talk: Monitoring and PerformanceCiti Tech Talk: Monitoring and Performance
Citi Tech Talk: Monitoring and Performance
confluent
 
Introducción a Stream Processing utilizando Kafka Streams
Introducción a Stream Processing utilizando Kafka StreamsIntroducción a Stream Processing utilizando Kafka Streams
Introducción a Stream Processing utilizando Kafka Streams
confluent
 
Taking your code to production
Taking your code to productionTaking your code to production
Taking your code to production
muayyad alsadi
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
NETWAYS
 
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & PartitioningApache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Guido Schmutz
 

Recently uploaded (20)

Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Ad

Apache Kafka 101 by Confluent Developer Friendly