tsa*_*txt 7 apache-kafka docker spring-boot docker-compose
我正在尝试将微服务Spring Boot与一起使用Kafka,但是我的Spring Boot容器无法连接到该Kafka容器。
docker-compose.yml:
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
restart: always
ports:
- 2181:2181
kafka:
image: wurstmeister/kafka
container_name: kafka
restart: always
ports:
- 9092:9092
depends_on:
- zookeeper
links:
- zookeeper:zookeeper
environment:
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
consumer:
image: consumer
container_name: consumer
depends_on:
- kafka
restart: always
ports:
- 8084:8080
depends_on:
- kafka
links:
- kafka:kafka
producer:
image: producer
container_name: producer
depends_on:
- kafka
restart: always
ports:
- 8085:8080
depends_on:
- kafka
links:
- kafka:kafka
Run Code Online (Sandbox Code Playgroud)
application.properties 在消费者中:
spring.kafka.consumer.bootstrap-servers=kafka:9092
spring.kafka.consumer.group-id=WorkUnitApp
spring.kafka.consumer.topic=kafka_topic
Run Code Online (Sandbox Code Playgroud)
application.properties 在生产者中:
spring.kafka.producer.bootstrap-servers=kafka:9092
Run Code Online (Sandbox Code Playgroud)
Kafka在容器中运行,并且在Spring Boot本地运行微服务,那么它可以工作。application.properties 在消费者中:
spring.kafka.consumer.bootstrap-servers=0.0.0.0:9092
spring.kafka.consumer.group-id=WorkUnitApp
spring.kafka.consumer.topic=kafka_topic
Run Code Online (Sandbox Code Playgroud)
application.properties 在生产者中:
spring.kafka.producer.bootstrap-servers=0.0.0.0:9092
Run Code Online (Sandbox Code Playgroud)
有什么问题,为什么linksfrom docker无效?
ps 0.0.0.0,因为mac os
我在docker-compose.yml环境中添加了,kafka但仍然无法正常工作
- KAFKA_ADVERTISED_PORT=9092
Run Code Online (Sandbox Code Playgroud)
您需要将您的Kafka代理发布为kafka,这是所有链接容器的有效主机名(即,从Kafka协议角度来看,客户端需要连接到的主机名):
kafka:
...
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2743 次 |
| 最近记录: |