SlideShare una empresa de Scribd logo
1 de 72
Reliable Messaging Systems with Kafka at Uber
George Teo
Software Engineer @ Streaming Data
June 19, 2018
Agenda
● Kafka @ Uber
● What is Messaging?
● High-level design
● Future work
Stream
Processing
- Driver-Rider Match
- ETA
App Views
Vehicle Information
KAFKA
Real-time Driver-Rider Matching
A bunch more...
● Fraud Detection
● Share My ETA
● Driver & Rider Signups
● Etc.
Apache Kafka - Use Cases
● Inter-service messaging
● Stream processing
○ AthenaX - self-serve platform (Samza, Flink)
● Database changelog transport
○ Schemaless, Cassandra, MySQL
● Data Lake Ingestion
○ HDFS, S3
● Log Aggregation
PRODUCERS
CONSUMERS
Real-time
Analytics, Alerts,
Dashboards
Samza / Flink
Applications
Data Science
Analytics
Reporting
Kafka
Vertica / Hive
Rider App
Driver App
API / Services
Etc.
Ad-hoc Exploration
ELK
Kafka @ Uber
Debugging
Hadoop
Surge Mobile App
Cassandra
Schemaless
MySQL
DATABASES
AWS S3
(Internal) Services
Apache Kafka - Use Cases
● Inter-service messaging
● Stream processing
○ AthenaX - self-serve platform (Samza, Flink)
● Database changelog transport
○ Schemaless, Cassandra, MySQL
● Ingestion
○ HDFS, S3
● Logging
Trillions+ ~PBs
Messages/Day
Data Volume
Scale
excluding replication
Tens of
Thousands
Topics
10+ clusters
100+ broker per
cluster
Agenda
● Kafka @ Uber
● What is Messaging?
● High-level Design
● Future Work
Messaging
● Streaming
● Queuing
Messaging
● Streaming
○ Ordered
Streaming - Ordered
Partition
0 1 2 3 4 5 6 7 8 9 10 11 12
Commit Offset 7
Consumer
Application
78
Messaging
● Streaming
○ Ordered
○ Commit up to
Streaming - Commit Up To
Partition
0 1 2 3 4 5 6 7 8 9 10 11 12
Commit Offset 9
Consumer
Application
789
Messaging
● Streaming
○ Ordered
○ Commit up to
○ Partitioned
Streaming - Partitioned
Kafka Topic
Partition 0
0 1 2 3 4 5 6 7 8 9 10 11 12
Partition 1
0 1 2 3 4 5 6 7 8 9 10 11 12
Partition 2
0 1 2 3 4 5 6 7 8 9 10 11 12
Consumer
Instance 2
Consumer
Instance 1
Consumer Application
Messaging
● Streaming
○ Ordered
○ Commit up to
○ Partitioned Consumer
● Queuing*
○ Unordered
Queueing- Unordered
0 1 2 3 4 5 6 7 8 9 10 11 12
Consumer
Application
6
Queue
0 1 2 3 4 5 6 7 8 9 10 11 12
Consumer
Application
Messaging
● Streaming
○ Ordered
○ Commit up to
○ Partitioned Consumer
● Queuing*
○ Unordered
○ Ack
Queueing- Ack
0 1 2 3 4 5 6 7 8 9 10 11 12
Consumer
Application
6
Queue
0 1 2 3 4 5 6 7 8 9 10 11 12
Ack 6
Consumer
Application
Messaging
● Streaming
○ Ordered
○ Commit up to
○ Partitioned Consumer
● Queuing*
○ Unordered
○ Ack/Nack
Queueing- Nack
0 1 2 3 4 5 6 7 8 9 10 11 12
Consumer
Application
Queue
0 1 2 3 4 5 6 7 8 9 10 11 12
Consumer
Application
Nack 4
5
Ack 5
4
Messaging
● Streaming
○ Ordered
○ Commit up to
○ Partitioned Consumer
● Queuing*
○ Unordered
○ Ack/Nack
○ Redelivery/DLQ
Queueing- Redelivery/DLQ
0 1 2 3 4 5 6 7 8 9 10 11 12
Consumer
Application
Queue
0 1 2 3 4 5 6 7 8 9 10 11 12
Consumer
Application4
Nack 4
Messaging
● Streaming
○ Ordered
○ Commit up to
○ Partitioned Consumer
● Queuing*
○ Unordered
○ Ack/Nack
○ Redelivery/DLQ
○ Competing Consumer
Queuing - Competing
Consumer
Instance 2
Consumer
Instance 1
Consumer Application
0 1 2 3 4 5 6 7 8 9 10 11 12
Queue
0 1 2 3 4 5 6 7 8 9 10 11 12
Why Streaming?
● Data Analytics
● Event-driven Architecture/Event Sourcing
● Log Aggregation
● Scalability*
Why Queuing?
● More friendly acknowledgement semantics
● Non-blocking retry
● Elastic Consumer scalability
● High consumer throughput
Agenda
● Kafka @ Uber
● Motivation
● High-level design
● Future work
Requirements
● Ack / Nack
● Redelivery
● Delay between retries
● Dead letter queue
● DLQ - purge / merge
● (Limited) Competing Consumer
● Multi-datacenter failover
● Golang, Java, Python client
Why Kafka?
● Other options:
○ ___MQ
○ Apache Pulsar
○ Build yet another messaging queue from ground up
● Why Kafka?
○ Reliability
○ Performance
○ Cost efficiency
■ Operational, engineering costs
Native Kafka Consumer
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
Consumer
Process
Competing Consumer
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Worker1Consumer
Worker1Consumer
Worker1
Competing Consumer
Kafka Topic
Partition 0
0 1 2 3 4 5 6 7 8 9 10 11 12
Partition 1
0 1 2 3 4 5 6 7 8 9 10 11 12
Partition 2
0 1 2 3 4 5 6 7 8 9 10 11 12
Consumer
Instance 2
Consumer
Instance 1
Consumer Application
Worker 1
Worker 2
Worker 3
Worker 4
Requirements
● Ack / Nack
● Redelivery
● Delay between retries
● Dead letter queue
● DLQ - purge / merge
● (Limited) Competing Consumer
● Multi-datacenter Consumer
● Golang, Java, Python client
Message Flow - Incoming Message
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
In-flight offset tracker
Partition 0
Consumer
Worker1Consumer
Worker1Consumer
Worker1
1
56 4
3
Message Flow - Inflight Message Tracker
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
In-flight offset tracker
Partition 0
3 4 5 6
Consumer
Worker1Consumer
Worker1Consumer
Worker1
2
Message Flow - Passed to worker
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
In-flight offset tracker
Partition 0
3 4 5 6
Consumer
Worker1Consumer
Worker1Consumer
Worker1
2
3
4
5
Consumer Application
In-Flight Offset tracker
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Topic Partition 0
Consumer
Worker1
Consumer
Worker2
Consumer
Worker3
Consumer
Worker4
Committed
Consumer Application
In-flight Offset Tracker
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Topic Partition 0
Consumer
Worker1
Consumer
Worker2
Consumer
Worker3
Consumer
Worker4
Committed
Read
3
Consumer Application
In-flight Offset Tracker
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Topic Partition 0
Consumer
Worker1
Consumer
Worker2
Consumer
Worker3
Consumer
Worker4
Committed
Read
3 6 4 5
Consumer Application
In-flight Offset Tracker - Ack
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Topic Partition 0
Consumer
Worker1
Consumer
Worker2
Consumer
Worker3
Consumer
Worker4
Committed
Read
3 6 4
Requirements
● Ack / Nack
● Redelivery
● Delay between retries
● Dead letter queue
● DLQ - purge / merge
● (Limited) Competing Consumer
● Multi-datacenter Consumer
● Golang, Java, Python client
Consumer Application
In-flight Offset Tracker
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Topic Partition 0
Consumer
Worker1
Consumer
Worker2
Consumer
Worker3
Consumer
Worker4
Committed
Read
3 6 4 7
Consumer Application
In-flight Offset Tracker
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Topic Partition 0
Consumer
Worker1
Consumer
Worker2
Consumer
Worker3
Consumer
Worker4
Committed
Read
3 6 8 7
Consumer Application
In-flight Offset Tracker - Nack
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Topic Partition 0
Consumer
Worker1
Consumer
Worker2
Consumer
Worker3
Consumer
Worker4
Committed
Read
6 8 7
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
In-flight offset tracker
Partition 0
3 6 7 8
Consumer
Worker1Consumer
Worker1Consumer
Worker1
topic__cg__retry
Partition 0
0 (3)
3
Nack
Consumer Application
In-flight Offset Tracker - Nack
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Topic Partition 0
Consumer
Worker1
Consumer
Worker2
Consumer
Worker3
Consumer
Worker4
Committed
Read
6 8 7
Ack
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
In-flight offset tracker
Partition 0
6 7 8 9
Consumer
Worker1Consumer
Worker1Consumer
Worker1
topic__cg__retry
Partition 0
0 (3)
4
Commit up to 5
Consumer Application
In-flight Offset Tracker - Nack
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Topic Partition 0
Consumer
Worker1
Consumer
Worker2
Consumer
Worker3
Consumer
Worker4
Committed
Read
6 8 7
Requirements
● Ack / Nack
● Redelivery
● Delay between retries
● Dead letter queue
● DLQ - purge / merge
● (Limited) Competing Consumer
● Multi-datacenter Consumer
● Golang, Java, Python client
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
In-flight offset tracker
Partition 0
Consumer
Worker1Consumer
Worker1Consumer
Worker1
topic__cg__retry
Partition 0
0 (3)
5
Redelivery
6 7 8 9
0 (3)
Requirements
● Ack / Nack
● Redelivery
● Delay between retries
● Dead letter queue
● DLQ - purge / merge
● (Limited) Competing Consumer
● Multi-datacenter Consumer
● Golang, Java, Python client
Delay
Delay Between Retries
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
In-flight offset tracker
Partition 0
Consumer
Worker1Consumer
Worker1Consumer
Worker1
topic__cg__retry
Partition 0
0 1
5
6 7 8 9
Requirements
● Ack / Nack
● Redelivery
● Delay between retries
● Dead letter queue
● DLQ - purge / merge
● (Limited) Competing Consumer
● Multi-datacenter Consumer
● Golang, Java, Python client
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
In-flight offset tracker
Partition 0
3 4 5 6
Consumer
Worker1Consumer
Worker1Consumer
Worker1
topic__cg__retry
Partition 0
0 1 2 3 4 5 6
topic__cg__dlq
Partition 0
0 1 2 3 4 5 6
Dead Letter Queue
Requirements
● Ack / Nack
● Redelivery
● Delay between retries
● Dead letter queue
● DLQ - purge / merge
● (Limited) Competing Consumer
● Multi-datacenter Consumer
● Golang, Java, Python client
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
In-flight offset tracker
Partition 0
3 4 5 6
Consumer
Worker1Consumer
Worker1Consumer
Worker1
topic__cg__retry
Partition 0
0 1 2 3 4 5 6
topic__cg__dlq
Partition 0
0 1 2 3 4 5 6
Purge
DLQ - Purge
topic
Partition 0
0 1 2 3 4 5 6
Consumer
Process
In-flight offset tracker
Partition 0
3 4 5 6
Consumer
Worker1Consumer
Worker1Consumer
Worker1
topic__cg__retry
Partition 0
0 1 2 3 4 5 6
topic__cg__dlq
Partition 0
0 1 2 3 4 5 6
Merge
DLQ - Merge
Requirements
● Ack / Nack
● Redelivery
● Delay between retries
● Dead letter queue
● DLQ - purge / merge
● (Limited) Competing Consumer
● Multi-datacenter Consumer
● Golang, Java, Python client
DC2
DC1
Regional
Kafka
Regional
Kafka
Aggregate
Kafka
uReplicator
Offset Sync Service
Aggregate
Kafka
uReplicator
Kafka Setup @ Uber
DC2
DC1
Consumer
Application
Active
Consumer
Application
Passive
Multi-DC Consumer
Regional
Kafka
Regional
Kafka
Aggregate
Kafka
uReplicator
Offset Sync Service
Aggregate
Kafka
uReplicator
Multi-DC Consumer
DC2
DC1
Consumer
Application
Active
Consumer
Application
Passive
Regional
Kafka
Regional
Kafka
Aggregate
Kafka
uReplicator
Offset Sync Service
Aggregate
Kafka
uReplicator
Multi-DC Consumer
DC2
DC1
Consumer
Application
Active
Consumer
Application
Passive
Regional
Kafka
Regional
Kafka
Aggregate
Kafka
uReplicator
Offset Sync Service
Aggregate
Kafka
uReplicator
Offset
sync
Multi-DC Consumer
DC2
DC1
Consumer
Application
Active
Consumer
Application
Passive
Regional
Kafka
Regional
Kafka
Aggregate
Kafka
uReplicator
Offset Sync Service
Aggregate
Kafka
uReplicator
Requirements
● Ack / Nack
● Redelivery
● Delay between retries
● Dead letter queue
● DLQ - purge / merge
● (Limited) Competing Consumer
● Multi-datacenter failover
● Golang, Java, Python client
API in Golang
handlerConsumer, _ := consumer.NewHandlerConsumer(consumer.Params{
Subscriptions: []Subscription{
{
Handler: func(context.Context, []byte) error {
// Do stuff
return nil
},
TopicConfig: NewTopicConfig("topic",
AllActiveStrategyActivePassive)
.WithConcurrency(100)
.WithTimeout(time.Second),
},
}
})
handlerConsumer.Start()
defer handlerConsumer.Stop()
Agenda
● Use cases & scale
● Motivation
● High-level design
● Future work
Future Work
● Open source
● Async RPC
● Runtime offset reset
● Active-Active MultiDC Consumer
● Federated multi-cluster Kafka
Links
● https://github.com/uber-go/kafka-client
● https://eng.uber.com/reliable-reprocessing/
● https://github.com/uber/uReplicator
Thank you
Proprietary and confidential © 2016 Uber Technologies, Inc. All rights reserved. No part of this document may be
reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying, recording, or by any
information storage or retrieval systems, without permission in writing from Uber. This document is intended only for the use
of the individual or entity to whom it is addressed and contains information that is privileged, confidential or otherwise
exempt from disclosure under applicable law. All recipients of this document are notified that the information contained
herein includes proprietary and confidential information of Uber, and recipient may not make use of, disseminate, or in any
way disclose this document or any of the enclosed information to any person other than employees of addressee to the
extent necessary for consultations with authorized personnel of Uber.
More open-source projects at eng.uber.com
Proprietary and confidential © 2018 Uber Technologies, Inc. All rights reserved. No part of this
document may be reproduced or utilized in any form or by any means, electronic or mechanical,
including photocopying, recording, or by any information storage or retrieval systems, without
permission in writing from Uber. This document is intended only for the use of the individual or entity
to whom it is addressed and contains information that is privileged, confidential or otherwise exempt
from disclosure under applicable law. All recipients of this document are notified that the information
contained herein includes proprietary and confidential information of Uber, and recipient may not
make use of, disseminate, or in any way disclose this document or any of the enclosed information
to any person other than employees of addressee to the extent necessary for consultations with
authorized personnel of Uber.

Más contenido relacionado

La actualidad más candente

Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeperSaurav Haloi
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?Kai Wähner
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMESet your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMEconfluent
 
Securing Hadoop with Apache Ranger
Securing Hadoop with Apache RangerSecuring Hadoop with Apache Ranger
Securing Hadoop with Apache RangerDataWorks Summit
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafkaemreakis
 
Databricks Delta Lake and Its Benefits
Databricks Delta Lake and Its BenefitsDatabricks Delta Lake and Its Benefits
Databricks Delta Lake and Its BenefitsDatabricks
 
Tuning kafka pipelines
Tuning kafka pipelinesTuning kafka pipelines
Tuning kafka pipelinesSumant Tambe
 
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...confluent
 
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse ArchitectureServerless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse ArchitectureKai Wähner
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013mumrah
 
Netflix viewing data architecture evolution - QCon 2014
Netflix viewing data architecture evolution - QCon 2014Netflix viewing data architecture evolution - QCon 2014
Netflix viewing data architecture evolution - QCon 2014Philip Fisher-Ogden
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsJonas Bonér
 
Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Flink Forward
 
Introduction to memcached
Introduction to memcachedIntroduction to memcached
Introduction to memcachedJurriaan Persyn
 
Real time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafkaReal time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafkaTimothy Spann
 
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseDataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseAldrin Piri
 

La actualidad más candente (20)

Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMESet your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
 
Securing Hadoop with Apache Ranger
Securing Hadoop with Apache RangerSecuring Hadoop with Apache Ranger
Securing Hadoop with Apache Ranger
 
Netflix Data Pipeline With Kafka
Netflix Data Pipeline With KafkaNetflix Data Pipeline With Kafka
Netflix Data Pipeline With Kafka
 
Unified Stream and Batch Processing with Apache Flink
Unified Stream and Batch Processing with Apache FlinkUnified Stream and Batch Processing with Apache Flink
Unified Stream and Batch Processing with Apache Flink
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Databricks Delta Lake and Its Benefits
Databricks Delta Lake and Its BenefitsDatabricks Delta Lake and Its Benefits
Databricks Delta Lake and Its Benefits
 
Tuning kafka pipelines
Tuning kafka pipelinesTuning kafka pipelines
Tuning kafka pipelines
 
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...
KSQL and Security: The Current State of Affairs (Victoria Xia, Confluent) Kaf...
 
Apache Kafka Best Practices
Apache Kafka Best PracticesApache Kafka Best Practices
Apache Kafka Best Practices
 
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse ArchitectureServerless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
 
Netflix viewing data architecture evolution - QCon 2014
Netflix viewing data architecture evolution - QCon 2014Netflix viewing data architecture evolution - QCon 2014
Netflix viewing data architecture evolution - QCon 2014
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
 
Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
 
Introduction to memcached
Introduction to memcachedIntroduction to memcached
Introduction to memcached
 
Real time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafkaReal time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafka
 
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseDataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
 

Similar a Kafka Retry and DLQ

Data Con LA 2019 - Unifying streaming and message queue with Apache Kafka by ...
Data Con LA 2019 - Unifying streaming and message queue with Apache Kafka by ...Data Con LA 2019 - Unifying streaming and message queue with Apache Kafka by ...
Data Con LA 2019 - Unifying streaming and message queue with Apache Kafka by ...Data Con LA
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaRicardo Bravo
 
Build real time stream processing applications using Apache Kafka
Build real time stream processing applications using Apache KafkaBuild real time stream processing applications using Apache Kafka
Build real time stream processing applications using Apache KafkaHotstar
 
Kafka Practices @ Uber - Seattle Apache Kafka meetup
Kafka Practices @ Uber - Seattle Apache Kafka meetupKafka Practices @ Uber - Seattle Apache Kafka meetup
Kafka Practices @ Uber - Seattle Apache Kafka meetupMingmin Chen
 
Tips & Tricks for Apache Kafka®
Tips & Tricks for Apache Kafka®Tips & Tricks for Apache Kafka®
Tips & Tricks for Apache Kafka®confluent
 
Christo Kutrovsky - Maximize Data Warehouse Performance with Parallel Queries
Christo Kutrovsky - Maximize Data Warehouse Performance with Parallel QueriesChristo Kutrovsky - Maximize Data Warehouse Performance with Parallel Queries
Christo Kutrovsky - Maximize Data Warehouse Performance with Parallel QueriesChristo Kutrovsky
 
Citi Tech Talk: Monitoring and Performance
Citi Tech Talk: Monitoring and PerformanceCiti Tech Talk: Monitoring and Performance
Citi Tech Talk: Monitoring and Performanceconfluent
 
Akka gRPC quick-guide
Akka gRPC quick-guideAkka gRPC quick-guide
Akka gRPC quick-guideKnoldus Inc.
 
Akka gRPC quick-guide
Akka gRPC quick-guideAkka gRPC quick-guide
Akka gRPC quick-guideKnoldus Inc.
 
Experiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsExperiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsCeph Community
 
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...HostedbyConfluent
 
Query and audit logging in cassandra
Query and audit logging in cassandraQuery and audit logging in cassandra
Query and audit logging in cassandraVinay Kumar Chella
 
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...Flink Forward
 
Storing State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your AnalyticsStoring State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your AnalyticsYaroslav Tkachenko
 
Aurora Serverless, 서버리스 RDB의 서막 - 트랙2, Community Day 2018 re:Invent 특집
Aurora Serverless, 서버리스 RDB의 서막 - 트랙2, Community Day 2018 re:Invent 특집Aurora Serverless, 서버리스 RDB의 서막 - 트랙2, Community Day 2018 re:Invent 특집
Aurora Serverless, 서버리스 RDB의 서막 - 트랙2, Community Day 2018 re:Invent 특집AWSKRUG - AWS한국사용자모임
 
Lisbon Mulesoft Meetup - Logging Aggregation & Visualization
Lisbon Mulesoft Meetup - Logging Aggregation & VisualizationLisbon Mulesoft Meetup - Logging Aggregation & Visualization
Lisbon Mulesoft Meetup - Logging Aggregation & VisualizationSteve Michael Fernandes
 
Disaster Recovery for Multi-Region Apache Kafka Ecosystems at Uber
Disaster Recovery for Multi-Region Apache Kafka Ecosystems at UberDisaster Recovery for Multi-Region Apache Kafka Ecosystems at Uber
Disaster Recovery for Multi-Region Apache Kafka Ecosystems at Uberconfluent
 
Building a Dynamic Rules Engine with Kafka Streams
Building a Dynamic Rules Engine with Kafka StreamsBuilding a Dynamic Rules Engine with Kafka Streams
Building a Dynamic Rules Engine with Kafka StreamsHostedbyConfluent
 
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...confluent
 
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
DPDK summit 2015: It's kind of fun  to do the impossible with DPDKDPDK summit 2015: It's kind of fun  to do the impossible with DPDK
DPDK summit 2015: It's kind of fun to do the impossible with DPDKLagopus SDN/OpenFlow switch
 

Similar a Kafka Retry and DLQ (20)

Data Con LA 2019 - Unifying streaming and message queue with Apache Kafka by ...
Data Con LA 2019 - Unifying streaming and message queue with Apache Kafka by ...Data Con LA 2019 - Unifying streaming and message queue with Apache Kafka by ...
Data Con LA 2019 - Unifying streaming and message queue with Apache Kafka by ...
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Build real time stream processing applications using Apache Kafka
Build real time stream processing applications using Apache KafkaBuild real time stream processing applications using Apache Kafka
Build real time stream processing applications using Apache Kafka
 
Kafka Practices @ Uber - Seattle Apache Kafka meetup
Kafka Practices @ Uber - Seattle Apache Kafka meetupKafka Practices @ Uber - Seattle Apache Kafka meetup
Kafka Practices @ Uber - Seattle Apache Kafka meetup
 
Tips & Tricks for Apache Kafka®
Tips & Tricks for Apache Kafka®Tips & Tricks for Apache Kafka®
Tips & Tricks for Apache Kafka®
 
Christo Kutrovsky - Maximize Data Warehouse Performance with Parallel Queries
Christo Kutrovsky - Maximize Data Warehouse Performance with Parallel QueriesChristo Kutrovsky - Maximize Data Warehouse Performance with Parallel Queries
Christo Kutrovsky - Maximize Data Warehouse Performance with Parallel Queries
 
Citi Tech Talk: Monitoring and Performance
Citi Tech Talk: Monitoring and PerformanceCiti Tech Talk: Monitoring and Performance
Citi Tech Talk: Monitoring and Performance
 
Akka gRPC quick-guide
Akka gRPC quick-guideAkka gRPC quick-guide
Akka gRPC quick-guide
 
Akka gRPC quick-guide
Akka gRPC quick-guideAkka gRPC quick-guide
Akka gRPC quick-guide
 
Experiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsExperiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah Watkins
 
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
 
Query and audit logging in cassandra
Query and audit logging in cassandraQuery and audit logging in cassandra
Query and audit logging in cassandra
 
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
Flink Forward San Francisco 2019: Massive Scale Data Processing at Netflix us...
 
Storing State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your AnalyticsStoring State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your Analytics
 
Aurora Serverless, 서버리스 RDB의 서막 - 트랙2, Community Day 2018 re:Invent 특집
Aurora Serverless, 서버리스 RDB의 서막 - 트랙2, Community Day 2018 re:Invent 특집Aurora Serverless, 서버리스 RDB의 서막 - 트랙2, Community Day 2018 re:Invent 특집
Aurora Serverless, 서버리스 RDB의 서막 - 트랙2, Community Day 2018 re:Invent 특집
 
Lisbon Mulesoft Meetup - Logging Aggregation & Visualization
Lisbon Mulesoft Meetup - Logging Aggregation & VisualizationLisbon Mulesoft Meetup - Logging Aggregation & Visualization
Lisbon Mulesoft Meetup - Logging Aggregation & Visualization
 
Disaster Recovery for Multi-Region Apache Kafka Ecosystems at Uber
Disaster Recovery for Multi-Region Apache Kafka Ecosystems at UberDisaster Recovery for Multi-Region Apache Kafka Ecosystems at Uber
Disaster Recovery for Multi-Region Apache Kafka Ecosystems at Uber
 
Building a Dynamic Rules Engine with Kafka Streams
Building a Dynamic Rules Engine with Kafka StreamsBuilding a Dynamic Rules Engine with Kafka Streams
Building a Dynamic Rules Engine with Kafka Streams
 
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
 
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
DPDK summit 2015: It's kind of fun  to do the impossible with DPDKDPDK summit 2015: It's kind of fun  to do the impossible with DPDK
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
 

Último

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Último (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Kafka Retry and DLQ