(多集群)
内容简介
本书是关于 Kafka 的全面教程,主要内容包括:Kafka 相对于其他消息队列系统的优点,主要是它如何完美匹配大数据平台开发;详解 Kafka 内部设计;用 Kafka 构建应用的 zuijia 实践;理解在生产中部署 Kafka 的 zuijia 方式;如何确保 Kafka 集群的安全。
随着 Kafka 部署数量的增加,基于以下几点原因,最好使用多个集群。
- 数据类型分离
- 安全需求隔离
- 多数据中心(灾难恢复)
如果使用多个数据中心,就需要在它们之间复制消息。这样,在线应用程序才可以访问到多个站点的用户活动信息。例如,如果一个用户修改了他们的资料信息,不管从哪个数据中心都应该能看到这些改动。或者多个站点的监控数据可以被聚集到一个部署了分析程序和告警系统的中心位置。不过,Kafka 的消息复制机制只能在单个集群里进行,不能在多个集群之间进行。
Kafka 提供了一个叫作 MirrorMaker 的工具,可以用它来实现集群间的消息复制。MirrorMaker 的核心组件包含了一个生产者和一个消费者,两者之间通过一个队列相连。
消费者从一个集群读取消息,生产者把消息发送到另一个集群上。图 1-8 展示了一个使用 MirrorMaker 的例子,两个“本地”集群的消息被聚集到一个“聚合”集群上,然后将该集群复制到其他数据中心。不过,这种方式在创建复杂的数据管道方面显得有点力不从心。第 7 章将详细讨论这些案例。
图 1-8:多数据中心架构
(为什么选择 Kafka)
基于发布与订阅的消息系统那么多,为什么 Kafka 会是一个更好的选择呢?
评论