SlideShare a Scribd company logo
1 of 42
Download to read offline
© Cloudera, Inc. All rights reserved.
DISASTER RECOVERY WITH
MIRRORMAKER 2.0
Ryanne Dolan, 14th May 2019
© Cloudera, Inc. All rights reserved.
Kafka
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Clients connect directly to Kafka.
Step 0: Your Kafka today.
Producer
© Cloudera, Inc. All rights reserved.
Kafka 1
Kafka 2
Load
balancer
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Producers can use VIPs, load balancers,
and health checks to failover transparently.
Step 1: Add a second cluster
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Two independent consumer groups.
© Cloudera, Inc. All rights reserved.
Kafka 1
Kafka 2
Load
balancer
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Disaster strikes. Can still ingest.
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
© Cloudera, Inc. All rights reserved.
More clusters, more
availability.
© Cloudera, Inc. All rights reserved.
What about data loss?
© Cloudera, Inc. All rights reserved.
Kafka 1
Kafka 2
Gateway
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Records sent to both clusters, but with
different order and offsets.
Step 2: Dual ingest
Producer
R1
R1
R1
R1
© Cloudera, Inc. All rights reserved.
Kafka 1
Kafka 2
Gateway
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Step 2: Dual ingest
Producer
R1
Where to resume processing?
R1
© Cloudera, Inc. All rights reserved.
Introducing:
MirrorMaker 2.0
© Cloudera, Inc. All rights reserved.
primary
secondary
Load
balancer
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Producers send to either cluster.
Consumers can be migrated between
primary and secondary clusters.
Active/standby with MirrorMaker 2.0
Producer
MM2
© Cloudera, Inc. All rights reserved.
primary
secondary
Load
balancer
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Data, offset syncs, and
consumer checkpoints.
Active/standby with MirrorMaker 2.0
Producer
© Cloudera, Inc. All rights reserved.
primary
secondary
Load
balancer
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Migrate consumers to backup
cluster.
Primary down: migrate consumers.
Producer
MM2
© Cloudera, Inc. All rights reserved. 13© Cloudera, Inc. All rights reserved.
primary
secondary
Replicated topics are renamed
according to
ReplicationPolicy.
<source>.<topic>
topic1
topic2
secondary.topic1
secondary.topic2
topic1
topic2
primary.topic1
primary.topic2
Remote topics
© Cloudera, Inc. All rights reserved. 14© Cloudera, Inc. All rights reserved.
Checkpoint stream replicates
consumer group state.
topic=primary.topic1
partition=4
group=consumer-group-2
upstreamOffset=100
offset=102
Checkpoints
secondary
primary.checkpoints.internal
© Cloudera, Inc. All rights reserved. 15© Cloudera, Inc. All rights reserved.
Offset sync stream maps
offsets between mirrored
clusters.
topic=primary.topic1
partition=4
upstreamOffset=100
downstreamOffset=102
Offset Syncs
secondary
primary.offset-syncs.internal
© Cloudera, Inc. All rights reserved. 16© Cloudera, Inc. All rights reserved.
Cross-cluster offset translation
Translate offsets between clusters via RemoteClusterUtils
Map<TopicPartition, Long> newOffsets =
RemoteClusterUtils.translateOffsets(
newClusterProperties, oldClusterName,
consumerGroupId);
consumer.seek(newOffsets);
● offset translation based on checkpoints in new cluster
● no connection to old cluster required
© Cloudera, Inc. All rights reserved. 17© Cloudera, Inc. All rights reserved.
MirrorMaker 2.0 configuration file
# mm2.properties
clusters = primary, secondary
primary.bootstrap.servers = …
secondary.bootstrap.servers = …
primary->secondary.enabled = true
secondary->primary.enabled = true
© Cloudera, Inc. All rights reserved.
primary
secondary
Load
balancer
Producer
Producer
Producer
Producer
Producer
Primary permanently lost? Recover from secondary.
Producer
primary-2
© Cloudera, Inc. All rights reserved. 19© Cloudera, Inc. All rights reserved.
MirrorMaker 2.0 configuration file
# mm2.properties
clusters = secondary, primary-2
secondary.bootstrap.servers = …
primary-2.bootstrap.servers = …
primary-2->secondary.enabled = true
secondary->primary-2.enabled = true
© Cloudera, Inc. All rights reserved. 20© Cloudera, Inc. All rights reserved.
primary-2
secondary
Lost primary topics can be
recovered from remote topics
on secondary cluster.
topic1
topic2
secondary.topic1
secondary.topic2
secondary.primary.topic1
secondary.primary.topic2
topic1
topic2
primary.topic1
primary.topic2
primary-2.topic1
primary-2.topic2
Recovered topics
© Cloudera, Inc. All rights reserved. 21© Cloudera, Inc. All rights reserved.
primary-2
secondary
topic1
topic2
secondary.topic1
secondary.topic2
secondary.primary.topic1
secondary.primary.topic2
topic1
topic2
primary.topic1
primary.topic2
primary-2.topic1
primary-2.topic2
Recovered topics
data from old primary
data from old primary
© Cloudera, Inc. All rights reserved.
primary
secondary
Load
balancer
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Producers send to either cluster.
Active/active with MirrorMaker 2.0
Producer
MM2
Consumer
Consumer
Consumer
Consumer
Consumer
Consumers in both clusters.
© Cloudera, Inc. All rights reserved.
primary
secondary
Load
balancer
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Cross-cluster consumer groups
Producer
MM2
Consumer
Consumer
Consumer
Consumer
Consumer
R1
R1
R1
© Cloudera, Inc. All rights reserved.
primary
secondary
Load
balancer
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Cross-cluster consumer groups
Producer
MM2
Consumer
Consumer
Consumer
Consumer
Consumer
R1
R1
R1
R2
R2
R2
Only one consumer processes
each record.
© Cloudera, Inc. All rights reserved.
primary
secondary
Load
balancer
Producer
Producer
Producer
Producer
Producer
Consumer
Consumer
Consumer
Consumer
Consumer
Effectively one big consumer group
Producer
MM2
Consumer
Consumer
Consumer
Consumer
Consumer
R1
R1
R1
R2
R2
R2
Only one consumer processes
each record.
© Cloudera, Inc. All rights reserved.
us-eastus-west
Cross-data center replication (XDCR)
us-north
Producer
LB LB LBLBs prefer their
local DC, but can
failover to other
DCs
ConsumerConsumerConsumer
Consumers see
records from all
DCs.
© Cloudera, Inc. All rights reserved.
Producers failover to another data center.
us-northus-west us-east
Producer
LB LB LB
ConsumerConsumerConsumer
© Cloudera, Inc. All rights reserved.
Entire DC permanently lost? Stand up a new Kafka cluster.
us-northus-west us-east
Producer
LB LB LB
ConsumerConsumerConsumer
© Cloudera, Inc. All rights reserved.
New us-west-2 cluster can be recovered from other DCs.
us-northus-west-2 us-east
Producer
LB LB LB
ConsumerConsumer
© Cloudera, Inc. All rights reserved.
New cluster back online.
us-northus-west-2 us-east
Producer
LB LB LB
ConsumerConsumerConsumer
© Cloudera, Inc. All rights reserved.
Reference architecture: XDCR with active/active AZs
DC-1 DC-2
AZ-1 AZ-2 AZ-3 AZ-4
K1 K2 K3 K4
LB LB
© Cloudera, Inc. All rights reserved.
Producers send to nearby DC
DC-1 DC-2
K1 K2 K3 K4
LB LB
P
P
© Cloudera, Inc. All rights reserved.
Consumers in each zone. Same group.id.
DC-1 DC-2
AZ-1 AZ-2 AZ-3 AZ-4
K1 K2 K3 K4
LB LB
C C C C
© Cloudera, Inc. All rights reserved.
Effectively two big consumer groups.
DC-1 DC-2
AZ-1 AZ-2 AZ-3 AZ-4
K1 K2 K3 K4
LB LB
C C C C
© Cloudera, Inc. All rights reserved.
Record processed by one consumer in each DC.
DC-1 DC-2
AZ-1 AZ-2 AZ-3 AZ-4
K1 K2 K3 K4
LB LB
C C C C
P
R1
R1 R1
© Cloudera, Inc. All rights reserved.
HA: ingest and process with any single K cluster.
DC-1 DC-2
AZ-1 AZ-2 AZ-3 AZ-4
K1 K2 K3 K4
LB LB
C C C C
P
R2
R2
© Cloudera, Inc. All rights reserved.
K1 catches up. Records are not re-processed in AZ-1.
DC-1 DC-2
AZ-1 AZ-2 AZ-3 AZ-4
K1 K2 K3 K4
LB LB
C C C C
R2
P
R2
© Cloudera, Inc. All rights reserved.
K3 catches up. Records processed in DC-2 for first time.
DC-1 DC-2
AZ-1 AZ-2 AZ-3 AZ-4
K1 K2 K3 K4
LB LB
C C C C
R2 R2
P
R2
© Cloudera, Inc. All rights reserved.
K4 catches up. Records are not re-processed in AZ-4.
DC-1 DC-2
AZ-1 AZ-2 AZ-3 AZ-4
K1 K2 K3 K4
LB LB
C C C C
R2 R2
P
R2
© Cloudera, Inc. All rights reserved.
MM2 config
# mm2.properties
clusters = K1, K2, K3, K4
K1.bootstrap.servers = …
# active/active w/in DC-1
K1->K2.enabled = true
K2->K1.enabled = true
# active/active w/in DC-2
K3->K4.enabled = true
K4->K3.enabled = true
# XDCR b/t DCs
K1->K3.enabled = true
K3->K1.enabled = true
© Cloudera, Inc. All rights reserved.
Consumer config
• Same consumer group.id across all AZs, DCs.
• DC-1 subscription:
• topic1
• K3.topic1
• K3.K4.topic1
• DC-2 subscription:
• topic1
• K1.topic1
• K1.K2.topic1
Alternatively: .*.topic1
© Cloudera, Inc. All rights reserved.
THANK YOU

More Related Content

What's hot

Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...confluent
 
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsRunning Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsLightbend
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkFlink Forward
 
Deep Dive into Apache Kafka
Deep Dive into Apache KafkaDeep Dive into Apache Kafka
Deep Dive into Apache Kafkaconfluent
 
How to tune Kafka® for production
How to tune Kafka® for productionHow to tune Kafka® for production
How to tune Kafka® for productionconfluent
 
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
Webinar: Deep Dive on Apache Flink State - Seth WiesmanWebinar: Deep Dive on Apache Flink State - Seth Wiesman
Webinar: Deep Dive on Apache Flink State - Seth WiesmanVerverica
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache KafkaChhavi Parasher
 
Kafka Streams State Stores Being Persistent
Kafka Streams State Stores Being PersistentKafka Streams State Stores Being Persistent
Kafka Streams State Stores Being Persistentconfluent
 
Cruise Control: Effortless management of Kafka clusters
Cruise Control: Effortless management of Kafka clustersCruise Control: Effortless management of Kafka clusters
Cruise Control: Effortless management of Kafka clustersPrateek Maheshwari
 
Stream Processing with Flink and Stream Sharing
Stream Processing with Flink and Stream SharingStream Processing with Flink and Stream Sharing
Stream Processing with Flink and Stream Sharingconfluent
 
Deploying Confluent Platform for Production
Deploying Confluent Platform for ProductionDeploying Confluent Platform for Production
Deploying Confluent Platform for Productionconfluent
 
A Deep Dive into Kafka Controller
A Deep Dive into Kafka ControllerA Deep Dive into Kafka Controller
A Deep Dive into Kafka Controllerconfluent
 
Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra...
 Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra... Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra...
Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra...HostedbyConfluent
 
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
 
Spring Boot+Kafka: the New Enterprise Platform
Spring Boot+Kafka: the New Enterprise PlatformSpring Boot+Kafka: the New Enterprise Platform
Spring Boot+Kafka: the New Enterprise PlatformVMware Tanzu
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaJeff Holoman
 
Stream processing using Kafka
Stream processing using KafkaStream processing using Kafka
Stream processing using KafkaKnoldus Inc.
 
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ... A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...HostedbyConfluent
 

What's hot (20)

Apache Kafka Best Practices
Apache Kafka Best PracticesApache Kafka Best Practices
Apache Kafka Best Practices
 
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
Show Me Kafka Tools That Will Increase My Productivity! (Stephane Maarek, Dat...
 
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming ApplicationsRunning Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
 
Deep Dive into Apache Kafka
Deep Dive into Apache KafkaDeep Dive into Apache Kafka
Deep Dive into Apache Kafka
 
How to tune Kafka® for production
How to tune Kafka® for productionHow to tune Kafka® for production
How to tune Kafka® for production
 
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
Webinar: Deep Dive on Apache Flink State - Seth WiesmanWebinar: Deep Dive on Apache Flink State - Seth Wiesman
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
 
Fundamentals of Apache Kafka
Fundamentals of Apache KafkaFundamentals of Apache Kafka
Fundamentals of Apache Kafka
 
Kafka Streams State Stores Being Persistent
Kafka Streams State Stores Being PersistentKafka Streams State Stores Being Persistent
Kafka Streams State Stores Being Persistent
 
Cruise Control: Effortless management of Kafka clusters
Cruise Control: Effortless management of Kafka clustersCruise Control: Effortless management of Kafka clusters
Cruise Control: Effortless management of Kafka clusters
 
Stream Processing with Flink and Stream Sharing
Stream Processing with Flink and Stream SharingStream Processing with Flink and Stream Sharing
Stream Processing with Flink and Stream Sharing
 
Deploying Confluent Platform for Production
Deploying Confluent Platform for ProductionDeploying Confluent Platform for Production
Deploying Confluent Platform for Production
 
A Deep Dive into Kafka Controller
A Deep Dive into Kafka ControllerA Deep Dive into Kafka Controller
A Deep Dive into Kafka Controller
 
Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra...
 Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra... Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra...
Disaster Recovery Options Running Apache Kafka in Kubernetes with Rema Subra...
 
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...
 
Kafka presentation
Kafka presentationKafka presentation
Kafka presentation
 
Spring Boot+Kafka: the New Enterprise Platform
Spring Boot+Kafka: the New Enterprise PlatformSpring Boot+Kafka: the New Enterprise Platform
Spring Boot+Kafka: the New Enterprise Platform
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
Stream processing using Kafka
Stream processing using KafkaStream processing using Kafka
Stream processing using Kafka
 
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ... A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
A Hitchhiker's Guide to Apache Kafka Geo-Replication with Sanjana Kaundinya ...
 

Similar to Disaster Recovery with MirrorMaker 2.0 (Ryanne Dolan, Cloudera) Kafka Summit London 2019

Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...
Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...
Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...confluent
 
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...HostedbyConfluent
 
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月VirtualTech Japan Inc.
 
Kafka Reliability Guarantees ATL Kafka User Group
Kafka Reliability Guarantees ATL Kafka User GroupKafka Reliability Guarantees ATL Kafka User Group
Kafka Reliability Guarantees ATL Kafka User GroupJeff Holoman
 
Getting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionGetting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionCloudera, Inc.
 
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...HostedbyConfluent
 
Percona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemPercona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemFrederic Descamps
 
Beyond the Brokers | Emma Humber and Andrew Borley, IBM
Beyond the Brokers | Emma Humber and Andrew Borley, IBMBeyond the Brokers | Emma Humber and Andrew Borley, IBM
Beyond the Brokers | Emma Humber and Andrew Borley, IBMHostedbyConfluent
 
Citi Tech Talk Disaster Recovery Solutions Deep Dive
Citi Tech Talk  Disaster Recovery Solutions Deep DiveCiti Tech Talk  Disaster Recovery Solutions Deep Dive
Citi Tech Talk Disaster Recovery Solutions Deep Diveconfluent
 
Hands-On Lab: CA Spectrum : How To Leverage UI Updates For Operational Effic...
Hands-On Lab: CA Spectrum: How To Leverage UI Updates For Operational Effic...Hands-On Lab: CA Spectrum: How To Leverage UI Updates For Operational Effic...
Hands-On Lab: CA Spectrum : How To Leverage UI Updates For Operational Effic...CA Technologies
 
Oracle Open World 2018 / Code One : MySQL 8.0 High Availability with MySQL I...
Oracle Open World 2018 / Code One  : MySQL 8.0 High Availability with MySQL I...Oracle Open World 2018 / Code One  : MySQL 8.0 High Availability with MySQL I...
Oracle Open World 2018 / Code One : MySQL 8.0 High Availability with MySQL I...Frederic Descamps
 
Resilient Microservices for Finance with DataStax Enterprise & Apache Cassand...
Resilient Microservices for Finance with DataStax Enterprise & Apache Cassand...Resilient Microservices for Finance with DataStax Enterprise & Apache Cassand...
Resilient Microservices for Finance with DataStax Enterprise & Apache Cassand...Daniel Cohen
 
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database SystemLinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database SystemFrederic Descamps
 
MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08Kenny Gryp
 
Mc git ops_incorpbackups_kanister
Mc git ops_incorpbackups_kanisterMc git ops_incorpbackups_kanister
Mc git ops_incorpbackups_kanisterLibbySchulze
 
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt Jarvis
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt JarvisOSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt Jarvis
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt JarvisNETWAYS
 
Hands-On Lab: Experience How to Leverage CA Spectrum 10.1 Support for Wirele...
Hands-On Lab: Experience How to Leverage CA Spectrum 10.1 Support for Wirele...Hands-On Lab: Experience How to Leverage CA Spectrum 10.1 Support for Wirele...
Hands-On Lab: Experience How to Leverage CA Spectrum 10.1 Support for Wirele...CA Technologies
 
ArcSight Connector Appliance v6.2 Release Notes
ArcSight Connector Appliance v6.2 Release NotesArcSight Connector Appliance v6.2 Release Notes
ArcSight Connector Appliance v6.2 Release NotesProtect724tk
 
Tungsten University: Configure and provision Tungsten clusters
Tungsten University: Configure and provision Tungsten clustersTungsten University: Configure and provision Tungsten clusters
Tungsten University: Configure and provision Tungsten clustersContinuent
 

Similar to Disaster Recovery with MirrorMaker 2.0 (Ryanne Dolan, Cloudera) Kafka Summit London 2019 (20)

Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...
Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...
Fully-Managed, Multi-Tenant Kafka Clusters: Tips, Tricks, and Tools (Christop...
 
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
 
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
OpenStackを利用したEnterprise Cloudを支える技術 - OpenStack最新情報セミナー 2016年5月
 
Kafka Reliability Guarantees ATL Kafka User Group
Kafka Reliability Guarantees ATL Kafka User GroupKafka Reliability Guarantees ATL Kafka User Group
Kafka Reliability Guarantees ATL Kafka User Group
 
Getting Apache Spark Customers to Production
Getting Apache Spark Customers to ProductionGetting Apache Spark Customers to Production
Getting Apache Spark Customers to Production
 
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
Not Your Mother's Kafka - Deep Dive into Confluent Cloud Infrastructure | Gwe...
 
Percona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database SystemPercona Live 2022 - The Evolution of a MySQL Database System
Percona Live 2022 - The Evolution of a MySQL Database System
 
Beyond the Brokers | Emma Humber and Andrew Borley, IBM
Beyond the Brokers | Emma Humber and Andrew Borley, IBMBeyond the Brokers | Emma Humber and Andrew Borley, IBM
Beyond the Brokers | Emma Humber and Andrew Borley, IBM
 
Citi Tech Talk Disaster Recovery Solutions Deep Dive
Citi Tech Talk  Disaster Recovery Solutions Deep DiveCiti Tech Talk  Disaster Recovery Solutions Deep Dive
Citi Tech Talk Disaster Recovery Solutions Deep Dive
 
Hands-On Lab: CA Spectrum : How To Leverage UI Updates For Operational Effic...
Hands-On Lab: CA Spectrum: How To Leverage UI Updates For Operational Effic...Hands-On Lab: CA Spectrum: How To Leverage UI Updates For Operational Effic...
Hands-On Lab: CA Spectrum : How To Leverage UI Updates For Operational Effic...
 
Oracle Open World 2018 / Code One : MySQL 8.0 High Availability with MySQL I...
Oracle Open World 2018 / Code One  : MySQL 8.0 High Availability with MySQL I...Oracle Open World 2018 / Code One  : MySQL 8.0 High Availability with MySQL I...
Oracle Open World 2018 / Code One : MySQL 8.0 High Availability with MySQL I...
 
Resilient Microservices for Finance with DataStax Enterprise & Apache Cassand...
Resilient Microservices for Finance with DataStax Enterprise & Apache Cassand...Resilient Microservices for Finance with DataStax Enterprise & Apache Cassand...
Resilient Microservices for Finance with DataStax Enterprise & Apache Cassand...
 
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database SystemLinuxFest Northwest 2022 - The Evolution of a MySQL Database System
LinuxFest Northwest 2022 - The Evolution of a MySQL Database System
 
MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08
 
Mc git ops_incorpbackups_kanister
Mc git ops_incorpbackups_kanisterMc git ops_incorpbackups_kanister
Mc git ops_incorpbackups_kanister
 
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt Jarvis
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt JarvisOSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt Jarvis
OSDC 2019 | Introducing Kudo – Kubernetes Operators the easy way by Matt Jarvis
 
Hands-On Lab: Experience How to Leverage CA Spectrum 10.1 Support for Wirele...
Hands-On Lab: Experience How to Leverage CA Spectrum 10.1 Support for Wirele...Hands-On Lab: Experience How to Leverage CA Spectrum 10.1 Support for Wirele...
Hands-On Lab: Experience How to Leverage CA Spectrum 10.1 Support for Wirele...
 
ArcSight Connector Appliance v6.2 Release Notes
ArcSight Connector Appliance v6.2 Release NotesArcSight Connector Appliance v6.2 Release Notes
ArcSight Connector Appliance v6.2 Release Notes
 
Presentation to customers sharing flash across virtualized workloads (1)
Presentation to customers   sharing flash across virtualized workloads (1)Presentation to customers   sharing flash across virtualized workloads (1)
Presentation to customers sharing flash across virtualized workloads (1)
 
Tungsten University: Configure and provision Tungsten clusters
Tungsten University: Configure and provision Tungsten clustersTungsten University: Configure and provision Tungsten clusters
Tungsten University: Configure and provision Tungsten clusters
 

More from confluent

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsconfluent
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flinkconfluent
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluentconfluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkconfluent
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloudconfluent
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Diveconfluent
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluentconfluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Meshconfluent
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservicesconfluent
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3confluent
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernizationconfluent
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataconfluent
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2confluent
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023confluent
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesisconfluent
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023confluent
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streamsconfluent
 

More from confluent (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Mesh
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservices
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernization
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time data
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streams
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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...
 

Disaster Recovery with MirrorMaker 2.0 (Ryanne Dolan, Cloudera) Kafka Summit London 2019

  • 1. © Cloudera, Inc. All rights reserved. DISASTER RECOVERY WITH MIRRORMAKER 2.0 Ryanne Dolan, 14th May 2019
  • 2. © Cloudera, Inc. All rights reserved. Kafka Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Clients connect directly to Kafka. Step 0: Your Kafka today. Producer
  • 3. © Cloudera, Inc. All rights reserved. Kafka 1 Kafka 2 Load balancer Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Producers can use VIPs, load balancers, and health checks to failover transparently. Step 1: Add a second cluster Producer Consumer Consumer Consumer Consumer Consumer Two independent consumer groups.
  • 4. © Cloudera, Inc. All rights reserved. Kafka 1 Kafka 2 Load balancer Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Disaster strikes. Can still ingest. Producer Consumer Consumer Consumer Consumer Consumer
  • 5. © Cloudera, Inc. All rights reserved. More clusters, more availability.
  • 6. © Cloudera, Inc. All rights reserved. What about data loss?
  • 7. © Cloudera, Inc. All rights reserved. Kafka 1 Kafka 2 Gateway Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Records sent to both clusters, but with different order and offsets. Step 2: Dual ingest Producer R1 R1 R1 R1
  • 8. © Cloudera, Inc. All rights reserved. Kafka 1 Kafka 2 Gateway Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Step 2: Dual ingest Producer R1 Where to resume processing? R1
  • 9. © Cloudera, Inc. All rights reserved. Introducing: MirrorMaker 2.0
  • 10. © Cloudera, Inc. All rights reserved. primary secondary Load balancer Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Producers send to either cluster. Consumers can be migrated between primary and secondary clusters. Active/standby with MirrorMaker 2.0 Producer MM2
  • 11. © Cloudera, Inc. All rights reserved. primary secondary Load balancer Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Data, offset syncs, and consumer checkpoints. Active/standby with MirrorMaker 2.0 Producer
  • 12. © Cloudera, Inc. All rights reserved. primary secondary Load balancer Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Migrate consumers to backup cluster. Primary down: migrate consumers. Producer MM2
  • 13. © Cloudera, Inc. All rights reserved. 13© Cloudera, Inc. All rights reserved. primary secondary Replicated topics are renamed according to ReplicationPolicy. <source>.<topic> topic1 topic2 secondary.topic1 secondary.topic2 topic1 topic2 primary.topic1 primary.topic2 Remote topics
  • 14. © Cloudera, Inc. All rights reserved. 14© Cloudera, Inc. All rights reserved. Checkpoint stream replicates consumer group state. topic=primary.topic1 partition=4 group=consumer-group-2 upstreamOffset=100 offset=102 Checkpoints secondary primary.checkpoints.internal
  • 15. © Cloudera, Inc. All rights reserved. 15© Cloudera, Inc. All rights reserved. Offset sync stream maps offsets between mirrored clusters. topic=primary.topic1 partition=4 upstreamOffset=100 downstreamOffset=102 Offset Syncs secondary primary.offset-syncs.internal
  • 16. © Cloudera, Inc. All rights reserved. 16© Cloudera, Inc. All rights reserved. Cross-cluster offset translation Translate offsets between clusters via RemoteClusterUtils Map<TopicPartition, Long> newOffsets = RemoteClusterUtils.translateOffsets( newClusterProperties, oldClusterName, consumerGroupId); consumer.seek(newOffsets); ● offset translation based on checkpoints in new cluster ● no connection to old cluster required
  • 17. © Cloudera, Inc. All rights reserved. 17© Cloudera, Inc. All rights reserved. MirrorMaker 2.0 configuration file # mm2.properties clusters = primary, secondary primary.bootstrap.servers = … secondary.bootstrap.servers = … primary->secondary.enabled = true secondary->primary.enabled = true
  • 18. © Cloudera, Inc. All rights reserved. primary secondary Load balancer Producer Producer Producer Producer Producer Primary permanently lost? Recover from secondary. Producer primary-2
  • 19. © Cloudera, Inc. All rights reserved. 19© Cloudera, Inc. All rights reserved. MirrorMaker 2.0 configuration file # mm2.properties clusters = secondary, primary-2 secondary.bootstrap.servers = … primary-2.bootstrap.servers = … primary-2->secondary.enabled = true secondary->primary-2.enabled = true
  • 20. © Cloudera, Inc. All rights reserved. 20© Cloudera, Inc. All rights reserved. primary-2 secondary Lost primary topics can be recovered from remote topics on secondary cluster. topic1 topic2 secondary.topic1 secondary.topic2 secondary.primary.topic1 secondary.primary.topic2 topic1 topic2 primary.topic1 primary.topic2 primary-2.topic1 primary-2.topic2 Recovered topics
  • 21. © Cloudera, Inc. All rights reserved. 21© Cloudera, Inc. All rights reserved. primary-2 secondary topic1 topic2 secondary.topic1 secondary.topic2 secondary.primary.topic1 secondary.primary.topic2 topic1 topic2 primary.topic1 primary.topic2 primary-2.topic1 primary-2.topic2 Recovered topics data from old primary data from old primary
  • 22. © Cloudera, Inc. All rights reserved. primary secondary Load balancer Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Producers send to either cluster. Active/active with MirrorMaker 2.0 Producer MM2 Consumer Consumer Consumer Consumer Consumer Consumers in both clusters.
  • 23. © Cloudera, Inc. All rights reserved. primary secondary Load balancer Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Cross-cluster consumer groups Producer MM2 Consumer Consumer Consumer Consumer Consumer R1 R1 R1
  • 24. © Cloudera, Inc. All rights reserved. primary secondary Load balancer Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Cross-cluster consumer groups Producer MM2 Consumer Consumer Consumer Consumer Consumer R1 R1 R1 R2 R2 R2 Only one consumer processes each record.
  • 25. © Cloudera, Inc. All rights reserved. primary secondary Load balancer Producer Producer Producer Producer Producer Consumer Consumer Consumer Consumer Consumer Effectively one big consumer group Producer MM2 Consumer Consumer Consumer Consumer Consumer R1 R1 R1 R2 R2 R2 Only one consumer processes each record.
  • 26. © Cloudera, Inc. All rights reserved. us-eastus-west Cross-data center replication (XDCR) us-north Producer LB LB LBLBs prefer their local DC, but can failover to other DCs ConsumerConsumerConsumer Consumers see records from all DCs.
  • 27. © Cloudera, Inc. All rights reserved. Producers failover to another data center. us-northus-west us-east Producer LB LB LB ConsumerConsumerConsumer
  • 28. © Cloudera, Inc. All rights reserved. Entire DC permanently lost? Stand up a new Kafka cluster. us-northus-west us-east Producer LB LB LB ConsumerConsumerConsumer
  • 29. © Cloudera, Inc. All rights reserved. New us-west-2 cluster can be recovered from other DCs. us-northus-west-2 us-east Producer LB LB LB ConsumerConsumer
  • 30. © Cloudera, Inc. All rights reserved. New cluster back online. us-northus-west-2 us-east Producer LB LB LB ConsumerConsumerConsumer
  • 31. © Cloudera, Inc. All rights reserved. Reference architecture: XDCR with active/active AZs DC-1 DC-2 AZ-1 AZ-2 AZ-3 AZ-4 K1 K2 K3 K4 LB LB
  • 32. © Cloudera, Inc. All rights reserved. Producers send to nearby DC DC-1 DC-2 K1 K2 K3 K4 LB LB P P
  • 33. © Cloudera, Inc. All rights reserved. Consumers in each zone. Same group.id. DC-1 DC-2 AZ-1 AZ-2 AZ-3 AZ-4 K1 K2 K3 K4 LB LB C C C C
  • 34. © Cloudera, Inc. All rights reserved. Effectively two big consumer groups. DC-1 DC-2 AZ-1 AZ-2 AZ-3 AZ-4 K1 K2 K3 K4 LB LB C C C C
  • 35. © Cloudera, Inc. All rights reserved. Record processed by one consumer in each DC. DC-1 DC-2 AZ-1 AZ-2 AZ-3 AZ-4 K1 K2 K3 K4 LB LB C C C C P R1 R1 R1
  • 36. © Cloudera, Inc. All rights reserved. HA: ingest and process with any single K cluster. DC-1 DC-2 AZ-1 AZ-2 AZ-3 AZ-4 K1 K2 K3 K4 LB LB C C C C P R2 R2
  • 37. © Cloudera, Inc. All rights reserved. K1 catches up. Records are not re-processed in AZ-1. DC-1 DC-2 AZ-1 AZ-2 AZ-3 AZ-4 K1 K2 K3 K4 LB LB C C C C R2 P R2
  • 38. © Cloudera, Inc. All rights reserved. K3 catches up. Records processed in DC-2 for first time. DC-1 DC-2 AZ-1 AZ-2 AZ-3 AZ-4 K1 K2 K3 K4 LB LB C C C C R2 R2 P R2
  • 39. © Cloudera, Inc. All rights reserved. K4 catches up. Records are not re-processed in AZ-4. DC-1 DC-2 AZ-1 AZ-2 AZ-3 AZ-4 K1 K2 K3 K4 LB LB C C C C R2 R2 P R2
  • 40. © Cloudera, Inc. All rights reserved. MM2 config # mm2.properties clusters = K1, K2, K3, K4 K1.bootstrap.servers = … # active/active w/in DC-1 K1->K2.enabled = true K2->K1.enabled = true # active/active w/in DC-2 K3->K4.enabled = true K4->K3.enabled = true # XDCR b/t DCs K1->K3.enabled = true K3->K1.enabled = true
  • 41. © Cloudera, Inc. All rights reserved. Consumer config • Same consumer group.id across all AZs, DCs. • DC-1 subscription: • topic1 • K3.topic1 • K3.K4.topic1 • DC-2 subscription: • topic1 • K1.topic1 • K1.K2.topic1 Alternatively: .*.topic1
  • 42. © Cloudera, Inc. All rights reserved. THANK YOU