哪一个主机名可以从一组动物园pipe理员中select

我是分布式系统的新手,我正在使用docker来build立一组动物园pipe理员

例如,我有三个动物园pipe理员开始:

services: zoo1: image: zookeeper restart: always ports: - 2181 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 zoo2: image: zookeeper restart: always ports: - 2181 environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 zoo3: image: zookeeper restart: always ports: - 2181 environment: ZOO_MY_ID: 3 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 

为了启动一个kafka ,我必须configuration它的server.properties
zookeeper.connection = localhost:2181例子中,我应该在这里configuration什么?

 zookeeper.connection=zoo1 / zoo2 / zoo3:2181? 

或者我应该让他们三个呢? 谢谢

[UPDATE]

当然, kafka将被configuration为在相同docker-compose.yml文件中启动。

但是kafkaDockerfile是在本地编写的。 我认为我应该相应地修改server.propertieszookeeper.connect=...而不是使用localhost

你应该把所有的逗号分隔列表:

 zookeeper.connect=zoo1:2181,zoo2:2181,zoo3:2181 

所以如果一个ZK倒闭,经纪人可以连接到一个副本。