{{announcement.body}}
{{announcement.title}}

Architectures for Distributed, Hybrid, Edge, and Global Apache Kafka

DZone 's Guide to

Architectures for Distributed, Hybrid, Edge, and Global Apache Kafka

Learn about several scenarios that may require multi-cluster solutions and see real-world examples with their specific requirements and trade-offs.

· Big Data Zone ·
Free Resource

Multi-cluster and cross-data center deployments of Apache Kafka have become the norm rather than an exception. Learn about several scenarios that may require multi-cluster solutions and see real-world examples with their specific requirements and trade-offs, including disaster recovery, aggregation for analytics, cloud migration, mission-critical stretched deployments and global Kafka.

kafka

Key Takeaways for Multi Data Center Kafka Architectures

  • In many scenarios, one Kafka cluster is not enough. Understand different architectures and alternatives for multi-cluster deployments.
  • Zero data loss and high availability are two key requirements. Understand how to realize this, including trade-offs.
  • Learn about features and limitations of Kafka for multi-cluster deployments- Global Kafka and mission-critical multi-cluster deployments with zero data loss and high availability became the normal, not an exception.
  • Learn about architectures like stretched cluster, hybrid integration and fully-managed serverless Kafka in the cloud (using Confluent Cloud), and tools like MirrorMaker 2, Confluent Replicator, Multi-Region Clusters (MRP), Global Kafka, and more.

Slide Deck

 

Architecture patterns for distributed, hybrid, edge and global Apache Kafka deployments from Kai Wähner.

Video Recording


Topics:
apache kafka ,architecture ,cloud architecture ,edge ,event streaming ,global ,hybrid ,kafka ,kubernetes ,messaging

Published at DZone with permission of Kai Wähner , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}