对于基于 Docker 容器的实现,运行 在同一个容器中放置一对 Kafka 服务器和 Zookeeper 服务器是否有意义?
For a Docker container based implementation, does it make sense to run a pair of Kafka server and Zookeeper server inside the same container?
我正在尝试使用 docker 容器实现一个由三个 kafka 服务器节点和三个 zookeeper 服务器节点组成的 kafka 集群,以下哪个是首选,如果两者都不是,首选方式是什么?
- 三个 docker 个容器,每个容器托管一个 kafka/zookeeper 服务器对
- 六个 docker 个容器,其中三个用于 kafka 服务器,另外三个用于 zookeeper 服务器
我问这个是因为在我看来,三节点 Zookeeper 集群只能在单节点故障中幸存下来,而三节点 Kafka 集群可能在两节点故障中幸存下来(您可能必须设置主题复制因子为 3)。那么,如果创建新容器的成本不是那么高,那么 运行 将它们放在不同的容器中会更好吗?说到这里,启动一个新的 Docker 容器的成本是多少?
如果我被建议 运行 每个容器一个服务器,是否更倾向于为每种服务器构建一个量身定制的 Docker 映像(在这种情况下,一个 docker kafka 的图像和 zookeeper 的另一个图像),还是所有不同服务器的一个统一图像?我猜想只为 kafka 和 zookeeper 创建两个单独的图像没有意义,但是如果我有所有不同类型的集群和服务器,想想 elasticsearch,来模拟怎么办?在什么时候创建要在单个项目中使用的不同 docker 图像才有意义?
如果我有时间这样做,我会制作 2 个不同的图像,一个用于 kafka,一个用于 zk。我会构建一个 docker-compose 文件来启动集群。
所以 6 个不同的容器
https://docs.docker.com/compose/
我正在尝试使用 docker 容器实现一个由三个 kafka 服务器节点和三个 zookeeper 服务器节点组成的 kafka 集群,以下哪个是首选,如果两者都不是,首选方式是什么?
- 三个 docker 个容器,每个容器托管一个 kafka/zookeeper 服务器对
- 六个 docker 个容器,其中三个用于 kafka 服务器,另外三个用于 zookeeper 服务器
我问这个是因为在我看来,三节点 Zookeeper 集群只能在单节点故障中幸存下来,而三节点 Kafka 集群可能在两节点故障中幸存下来(您可能必须设置主题复制因子为 3)。那么,如果创建新容器的成本不是那么高,那么 运行 将它们放在不同的容器中会更好吗?说到这里,启动一个新的 Docker 容器的成本是多少?
如果我被建议 运行 每个容器一个服务器,是否更倾向于为每种服务器构建一个量身定制的 Docker 映像(在这种情况下,一个 docker kafka 的图像和 zookeeper 的另一个图像),还是所有不同服务器的一个统一图像?我猜想只为 kafka 和 zookeeper 创建两个单独的图像没有意义,但是如果我有所有不同类型的集群和服务器,想想 elasticsearch,来模拟怎么办?在什么时候创建要在单个项目中使用的不同 docker 图像才有意义?
如果我有时间这样做,我会制作 2 个不同的图像,一个用于 kafka,一个用于 zk。我会构建一个 docker-compose 文件来启动集群。
所以 6 个不同的容器 https://docs.docker.com/compose/