Нужно ли мне один или несколько sarama.SyncProducer в моем приложении Golang? - PullRequest
0 голосов
/ 01 февраля 2019

Я новичок в Голанге, мне нужно написать приложение, которое будет публиковать события в kafka, я не могу найти ответы на следующие вопросы:

  1. Сколько у меня sarama.SyncProducerнужно?
  2. Можно ли использовать один для всех приложений?Должен ли я иметь какой-то пул производителей?

Ответы [ 3 ]

0 голосов
/ 01 февраля 2019
  1. Это зависит от того, как работает ваше приложение.В большинстве случаев достаточно одного производителя.Он может взаимодействовать со многими темами ... Позвольте вам прочитать пример

  2. Да, это очень хорошо.Вы можете видеть производителя как выходную дверь вашего приложения.

Но вы должны использовать асинхронный производитель.Сарама асинхронна, если я не ошибаюсь.

0 голосов
/ 20 июня 2019

SyncProducer или AsyncProducer возвращает структуру производителя с подключением к брокеру, определенному в sarama.Config.

  1. Сколько нужно sarama.SyncProducer?

Вам требуется только одна структура производителя с инициализированными конфигурациями для установки нескольких брокеров.

Можно ли использовать один для всех приложений?Должен ли я иметь какой-то пул производителей?

Нет ничего похожего на одного производителя, который можно использовать во всех приложениях.Единственное, что вы можете подключиться к одному и тому же брокеру, используя те же конфигурации.Потому что, если есть другое приложение, вам нужно создать нового производителя с похожими конфигурациями.

0 голосов
/ 01 февраля 2019

Если вы не получите данные, которые будут опубликованы с гораздо большей скоростью, чем издатель может их опубликовать (?), Учитывая, что издатель сарамы асинхронный и одновременный , я бы сказал, что вам не нужноболее одного издателя.Итак, чтобы ответить прямо на ваши вопросы:

  1. Я бы пошел с одним, не зная ваших требований.
  2. Да.Я полагаю, что более вероятно, что нужен пул потребителей, учитывая, конечно, высокий уровень публикации сообщений.
...