Распространено определение нескольких слушателей, и Kafka очень хорошо это поддерживает.
Чтобы определить нескольких слушателей, вам нужно перечислить их всех в advertised.listeners
/ listeners
.
Если несколько слушателей собираются использовать один и тот же протокол безопасности (PLAINTEXT
), вам также необходимо установить listener.security.protocol.map
для сопоставления пользовательских имен с протоколами безопасности.См. конфигурации брокера в Документах Кафки.
Например:
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
advertised.listeners=INTERNAL://:9092,EXTERNAL://proxyhostname:8080
listeners=INTERNAL://:9092,EXTERNAL://:8080
Это сопоставляет 2 имени EXTERNAL
и INTERNAL
(вы можете использовать любое имя, которое вынапример, я только что использовал имена из вашего вопроса) в протокол безопасности PLAINTEXT
.Затем для каждого он определяет порт для прослушивания и имя хоста для рекламы в ответах метаданных.