Внутренняя и Внешняя связь в Кафке - PullRequest
0 голосов
/ 27 декабря 2018

Поток: On-Prem ------> Прокси ---> Кафка

advertised.listeners=PLAINTEXT://proxyhostname:8080 - for external communication
listeners=PLAINTEXT://:9092 = for internal communication   

• Когда мы устанавливаем оба свойства, внутренняя связь не происходит. (Проблема репликации ипотребитель не может подключиться через локально, и мы должны предоставить прокси Ip для связи с потребителем)

• Как мы можем эффективно использовать как свойство для внутренней, так и внешней связи?

• Любая альтернативная идеяделать внешнюю и внутреннюю связь?

1 Ответ

0 голосов
/ 27 декабря 2018

Распространено определение нескольких слушателей, и 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.Затем для каждого он определяет порт для прослушивания и имя хоста для рекламы в ответах метаданных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...