我尝试实现一个kafka集群包含三个kafka服务器节点和三个使用docker容器的zookeeper服务器节点,以下哪个是首选,如果不是,那么首选方式是什么?
我之所以这样问,是因为在我看来,三节点Zookeeper集群只能幸免于单节点故障,而三节点Kafka集群可能会在双节点故障中幸免(您可能需要设置主题复制因子为3)。如果创建新容器的成本太高,那么在不同的容器中运行它们会更好吗?说到这个,启动一个新的Docker容器有多昂贵?
如果我建议每个容器运行一个服务器,是否更适合为每种服务器构建定制的Docker镜像(在这种情况下,一个用于kafka的docker镜像,另一个用于zookeeper),或者一个统一的图像为所有不同的服务器?我猜测为kafka和zookeeper创建两个单独的图像是没有意义的,但如果我拥有所有不同类型的集群和服务器,想想弹性搜索,模拟?在什么时候开始有意义创建不同的docker镜像以在单个项目中使用?
答案 0 :(得分:2)
如果我有时间这样做,我会制作2张不同的图像,一张用于卡夫卡,一张用于zk。并且我构建了一个docker-compose文件来启动集群。
所以6个不同的容器 https://docs.docker.com/compose/