我想在dockers上创建可伸缩的kafka集群。我正在使用docker图像https://hub.docker.com/r/wurstmeister/kafka/ 用于创建kafka服务器。为了创建单节点kafka和zookeeper,我使用了以下docker compose:
version: '3.1'
services:
kafka:
image: "wurstmeister/kafka"
ports:
- "9095:9092"
hostname: kafka
depends_on:
- zookeeper
environment:
- KAFKA_ADVERTISED_HOST_NAME=kafka
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_ADVERTISED_PORT=9092
- KAFKA_CREATE_TOPICS=check:3:1
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2185:2181"
通过这些设置,我可以从我的应用程序代码访问kafka broker和zookeeper kafka:9092
以及 zookeeper:2181
分别在Kafka消费设置。
但现在我需要可伸缩集群,因此我将docker compose修改为:
version: '3.1'
services:
kafka:
image: "wurstmeister/kafka"
ports:
- "9095:9092"
hostname: kafka
depends_on:
- zookeeper
environment:
- KAFKA_ADVERTISED_HOST_NAME=kafka
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_ADVERTISED_PORT=9092
- KAFKA_CREATE_TOPICS=check:3:1
deploy:
replicas: 3
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2185:2181"
在这种情况下,3Kafka经纪人正在创建。但是,在这种情况下,如果我无法访问我的主题“检查”使用Kafka经纪人作为 kafka:9092
Kafka是Zookeeper zookeepr:2181
在我的应用程序代码的Kafka消费者设置。我应该如何修改我的 docker-compose.yml
或者我的应用程序代码Kafka消费者设置,以便我可以读取这些多个经纪人?
暂无答案!
目前还没有任何答案,快来回答吧!