Brod: каждому brod_group_subscriber_v2 нужен собственный клиент brod - PullRequest
1 голос
/ 02 марта 2020

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Этот вопрос конкретно касается клиентской библиотеки Erlang / OTP Kafka Брод (пока нет доступных тегов)

Я пытаюсь установить sh три группы потребителей, одна должна писать сообщения просто на консоль, другая должна обновлять состояние, представляющее API, с определенными сообщениями, а третья должна хранить каждое сообщение в долговременной базе данных (ящике). Я использую супервизор, чтобы начать три в соответствии с brod_group_subscriber_v2 (см. этот GIST ). Если я сначала запустлю три клиента brod (kafka) и подключу каждого подписчика группы к своему клиенту, все будет отлично работать, так что смещения передаются в Kafka для каждой группы и чтение начинается с самого последнего смещения.

Если я используйте только одного клиента (как это должно быть возможно и предусмотрено в соответствии с документами и проблемами Brod, см. Reference by zmstone), работает только последняя группа в моем CHILD_SPE C, обе другие не получают handle_message звонки.

На данный момент запуск клиента для каждой группы не является проблемой для меня, так как их всего три. Но по мере роста нашего проекта мы планируем создать sh пару групп потребителей, и я не думаю, что будет хорошей идеей запускать от 20 до 30 клиентов brod и блокировать ресурсы для каждого из них.

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