ECS + ZooKeeper / Kafka - 可以吗?

ECS + ZooKeeper / Kafka - would it work?

我从来没有用过ZooKeeper/Kafka,所以如果我说的有什么不对的地方,请随时指正。

使用 AWS ECS 拥有 ZooKeeper/Kafka 集群规模 up/down 是个好主意吗?我不是特别确定这是如何完成的,因为似乎没有太多信息将两者结合在一起,所以我开始觉得这不是我应该做的事情。

SEEM 没有办法将 zookeeper 副本自动添加到集群,Kafka 似乎也是如此(除非使用 MirrorMaker)。

ZooKeeper 可以通过 Exhibitor for automatic instance management, using a shared config 位置进行管理。将其组合成一个 Docker 图像,将 Amazon S3 作为后端选项,你应该可以开始了。

Kafka 有点复杂,因为每个节点都需要一个唯一的 broker.id 并且您需要在管理这些节点时考虑到故障和节点更换。此外,当一个新的 broker.id 被添加到集合中或从中删除时(即当您缩小或缩小时),您需要重新平衡主题分区。我强烈推荐 this 博客 post 关于自动缩放组中 broker.id 管理的主题。

请注意,这两个问题都与自动 Kafka 缩放有关,而不是使用 Amazon ECS 本身。在 Amazon ECS 上的 Docker 容器中部署带有一些限制的 Kafka 应该相当简单.

我不确定 MirrorMaker 如何适合您的场景,但请记住,这只是另一个消费者 - 它与集群管理无关。