Я пытаюсь масштабировать kafka с помощью docker compose.
мой docker-compose.yaml выглядит примерно так: -
version: '3'
services:
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
- KAFKA_ADVERTISED_HOST_NAME=127.0.0.1
- KAFKA_ADVERTISED_PORT=9092
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
depends_on:
- zookeeper
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
environment:
- KAFKA_ADVERTISED_HOST_NAME=zookeeper
И я пытаюсь увеличить его с помощью
$docker-compose scale kafka=3
Проблема в том, что порты контейнеров должны быть уникальными, поэтому я изменил раздел портов следующим образом: -
ports:
- "9092-9095:9092"
однако теперь у меня нет возможности узнатькакой порт был назначен до времени выполнения, есть ли способ получить назначенные порты и назначить его переменной среды KAFKA_ADVERTISED_PORT?
Я видел довольно много примеров, которые определяют 3 отдельных сервиса для каждого сервиса kafka,что мне не очень нравится, так как это нарушает принцип СУХОГО.