Kafka:多集群

17 Mar 2025 | 阅读 2 分钟

我们已经研究过,在单个 Kafka 集群中可以有多个分区、主题和 Broker。

因此,随着 Apache Kafka 部署规模的增长,拥有多个集群是有益的。在本节中,我们将讨论多个集群、其优势以及更多内容。

Kafka 集群是由多个 Broker 及其各自的分区组成的集群。多个 Kafka 集群意味着连接两个或多个集群,以简化生产者和消费者的工作。

多集群的优势

单个 Kafka 集群对于本地开发来说已经足够。但是,拥有多个集群是有益的。以下是最好地描述了多集群优势的几个原因:

  • 数据类型隔离
  • 多个数据中心
  • 安全需求隔离

数据类型隔离

使用多个集群允许用户将不同类型的数据分隔在不同的 Broker 下。这使得获取数据变得容易。此外,用户无需在单个集群中过滤数据。

多个数据中心

构建多个数据中心的目的是为了保护我们的数据或消息免受灾难的影响。因此,这些数据中心需要彼此复制数据。如果发生任何灾难,例如系统崩溃或服务器崩溃,数据仍然可以恢复。此外,在线应用程序可以轻松访问用户在两个站点上的活动。

安全需求隔离

安全是任何数据或消息的主要关注点。Apache Kafka 为存储的数据提供了各种安全措施。由于多个数据中心分别存储大量数据,因此安全要求也在不同的数据中心中隔离。

MirrorMaker

在 Apache Kafka 中,复制过程仅在集群内部工作,而不在多个集群之间工作。因此,Kafka 项目引入了一个名为 MirrorMaker 的工具。MirrorMaker 是消费者和生产者的组合。两者通过队列连接在一起。一个 Kafka 集群中的生产者生成一条消息,而另一个集群中的消费者读取该消息。

Apache Kafka Multiple Clusters

在上图中,来自两个本地数据中心的消息通过 MirrorMaker 聚合到一个集群中。然后,相应的集群被复制到其他数据中心。

因此,为了管理大量数据和消息,MirrorMaker 用于在各种 Kafka 集群之间复制数据。


下一主题Kafka 架构