Как отмечается в комментариях к вашему вопросу, проблема, похоже, связана с объявленным именем брокера Kafka.Согласно вашему docker-compose вы должны использовать 192.168.23.134
, но ваш почтовый сервис использует kafka:9092
.Вы можете попробовать с этим docker-compose.Я заменил сервисы wurstmeister на новейшие Zookeeper и Kafka, предоставленные confluentinc
, и добавил ваш почтовый сервис.
---
version: '2'
services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
kafka:
image: confluentinc/cp-kafka:latest
depends_on:
- zookeeper
ports:
- 9092:9092
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
email-service:
build: ./email-service
environment:
SPRING_KAFKA_BOOTSTRAPSERVERS: kafka:29092
ports:
- "8081:8081"
depends_on:
- kafka
advertised.listeners : прослушиватели для публикации в ZooKeeper для использования клиентами, если они отличаются от свойства конфигурации прослушивателей.В средах IaaS это может отличаться от интерфейса, с которым связывается брокер.Если это не установлено, будет использоваться значение для слушателей.В отличие от слушателей недопустимо объявлять мета-адрес 0.0.0.0.
Обратите внимание, что KAFKA_ADVERTISED_HOST_NAME
устарел, и вместо него рекомендуется использовать KAFKA_ADVERTISED_LISTENERS
.Для получения дополнительной информации о KAFKA_ADVERTISED_LISTENERS
проверьте здесь .