我正在尝试使用docker容器实现一个kafka集群,它由kafka服务器的三个节点和zookeeper服务器的三个节点组成,下面哪一个是首选的,如果两者都不是,首选的方法是什么?
三个docker容器,每个容器承载一个kafka/zookeeper服务器对
六个docker容器,其中三个用于kafka服务器,另外三个用于zookeeper服务器
我这样问是因为在我看来,三节点zookeeper集群只能在单节点故障下生存,而三节点kafka集群可能在两节点故障下生存(您可能必须将主题复制因子设置为3)。那么,如果创建新容器的成本不高,那么在不同的容器中运行它们是否更好呢?说到这里,启动一个新的docker容器的成本有多高?
如果建议我为每个容器运行一个服务器,是更倾向于为每种服务器构建一个定制的docker映像(在本例中,一个docker映像用于kafka,另一个用于zookeeper),还是为所有不同的服务器构建一个统一映像?我猜仅仅为kafka和zookeeper创建两个独立的图像是没有意义的,但是如果我有各种各样的集群和服务器,比如elasticsearch,来模拟呢?在什么时候开始有意义创建不同的docker映像以在单个项目中使用?
1条答案
按热度按时间vmdwslir1#
如果我有时间,我会做两个不同的图像,一个是Kafka,一个是zk。我会建立一个docker compose文件来启动集群。
所以6个不同的容器https://docs.docker.com/compose/