У нас есть кластер из 5 брокеров, и мы настроили server.properties, как показано ниже.
listeners=PLAINTEXT://kafka1:9092
advertised.listeners=PLAINTEXT://kafka1:9092
Я добавил записи, как показано ниже, в файл /etc/hosts обо всех брокерах, производителях и потребителях.
"Private:IP:kafka:broker1" kafka1
Это работает для нас по большей части, и нам не нужно запоминать частные IP-адреса загрузочных серверов при настройке новых потребителей.
Я хотел бы знать, является ли это нормальным способом общения между брокерами и клиентами kafka?
Поскольку я не специалист по DevOps, я не уверен, что это может привести к скрытым проблемам. Пожалуйста, прокомментируйте это.
Другое дело, что я наблюдаю случайные разрывы соединения между брокером и клиентами Kafka, что приводит к различным проблемам. Я просто хочу исключить возможность того, что это каким-то образом вызывает проблемы.

I have added entries like below in /etc/hosts file of all the brokers, producers and consumers
Это НЕТ в порядке. Пожалуйста не делай этого
Если вы не можете разрешить хосты только с помощью вашего свойства bootstrap.servers, то слушатели неверны.
Пожалуйста, прочтите это объяснение Kafka Listeners для получения подробной информации.
we don't have to remember private IPs of the bootstrap servers when configuring new consumers
Вы можете использовать инструмент обнаружение службы для решения этой проблемы. Consul является популярным, тогда вы просто указываете на kafka.service.consul:9092, и он «просто работает» с помощью магии DNS.
Или вы должны стандартизировать клиентскую библиотеку Kafka, которая уже предварительно настроена, по крайней мере, с настройкой загрузочных серверов, а затем вы выпускаете эту «библиотеку» для своих разработчиков для внутреннего использования.
Случайные отключения могут быть исключениями тайм-аута с клиентами или задержкой Zookeeper (как я упоминал ранее), или аппаратным обеспечением вашего VPC, не способным справиться с репликацией, а также запросами клиентов, например. iowait, и загрузка процессора и т.д. Но нет, /etc/hosts "хак" плохой только когда пытаешься расширить кластер, или перезагружаешь сервер в облаке, а IP меняется
Спасибо чувак. Я решил, что проблема с отключением возникла из-за существующей проблемы в самой Кафке. Что касается настройки свойства слушателей Kafka, ваши идеи выглядят идеально.
Если вы считаете, что проблема связана с самой Kafka, вы можете открыть JIRA или отправить электронное письмо в список рассылки Kafka для дальнейшего изучения основными разработчиками.
Ладно. Согласно статье, кажется, что единственная проблема с жестким кодированием IP-адресов в локальном файле /etc/hosts заключается в том, что это хрупкий подход и своего рода взлом. Я изменю рекламируемых слушателей всех брокеров на их частные IP-адреса, поскольку все наши клиенты Kafka находятся в одном и том же VPC. Что касается случайных отключений, я не думаю, что этот взлом когда-либо вызовет проблему как таковую. или может?