是否可以从不同的 EC2 机器中创建一个 Kafka 集群?

问题描述

我正在为 Kafka 进行一些基准测试,并想尝试建立一个由来自不同地区(美国/欧洲/亚洲)的 3 个不同 EC2 实例组成的集群,但由于这些机器不属于同一个 LAN,所以我不是确定 kafka 是否支持这种聚类。

可以设置这个场景吗?

解决方法

不同的 EC2 实例

Kafka 不关心异构实例类型,尽管我不确定您为什么要这样做,因为理想情况下您希望使用一些配置管理软件,例如 Cloudformation 或 Terraform,这会让您选择一种实例类型

来自不同地区(美国/欧洲/亚洲)

如果没有相当大的延迟和不一致的连接/超时,跨不同区域的集群将无法工作。具体来说,Zookeeper 需要亚秒级连接

相反,您可以为每个区域创建单独的集群,然后使用 MirrorMaker2 等工具跨区域复制主题。还有一个 Confluent 特定的解决方案,称为集群链接