kafka和zookepeer高可用性配置

时间:2018-12-28 16:14:01

标签: apache-kafka apache-zookeeper high-availability

我想在我的生态系统中设置一个高可用性kafka-zookeper。我有2个数据中心,每个数据中心有3个物理服务器。

Dc1

服务器1-1st Kafka Broker

服务器2-第二个Kafka经纪人

服务器3-第三届Kafka经纪人

所以有3个经纪人的Kafka集群

Zoookepeer合奏-3台物理服务器中的3个Zookeeper实例

Dc2

与DC1类似的配置

现在我的问题是-

  1. 通过上述设置,我们可以确保容错和完整的HA
  2. 首选采用主动-主动设置还是主动-被动设置?为什么?
  3. 如何跨数据中心异步镜像数据?

1 个答案:

答案 0 :(得分:0)

  

通过上述设置,我们是否可以确保容错能力和完整的HA?

可以,但仅每个数据中心可用。

在AWS(和其他云,我想)中,您还将另外拥有可用区(AZ),这些可用区在地理位置上是紧密的数据中心,但彼此之间仍然足够隔离,因此断开与一个区域的连接不会影响分布在其上的应用程序多个区域。要获得很高的可用性,best-practices say您可以跨可用区拉动群集

此外,将首选5个动物园管理员,因为这样一来,您可能会损失2台机器,而且还可以。

  

首选设置主动-主动设置还是主动-被动设置?为什么?

如果您正在将Kafka数据主动镜像到辅助群集,那么IMO并不是真正的“被动”

据我所知,没有在不实际编辑客户端配置以使用该“备份”引导服务器集合的情况下,将Kafka客户端“无缝”迁移到“故障转移群集”的方法。此外,如果将数据发送到一个群集,但又有一段时间无法使用另一个群集,则该群集又回来了,那么您需要使用方应用程序来协调主题数据中的这些差异。

  

如何跨数据中心异步镜像数据?

内置到Kafka中,有MirrorMaker。还存在其他工具,例如Confluent Replicator,它添加了MirrorMaker(和类似的Kafka镜像工具)当前不提供的更多HA功能。

Confluent最近更新了其白皮书,描述为

  

有关配置多个Apache Kafka群集的实用指南,以便在发生灾难情况时制定故障转移,故障回复和最终成功恢复的计划

您可以download it here