Внедрение троттлинга на тему кафки потребителя - PullRequest
0 голосов
/ 09 октября 2018

Мы создаем систему для перемещения данных из одной точки в другую в нашей экосистеме с контролируемой и предсказуемой скоростью.Система в основном имеет основной раздел кафки, который получает сообщения N типов.Агент, использующий этот раздел, затем помещает сообщение в одну из N рабочих очередей, основываясь на теме полезной нагрузки сообщения.Эти рабочие очереди затем имеют рабочих, фактически выполняющих работу.

Теперь я хочу реализовать ручки управления, такие как - приостановка / возобновление / регулирование сообщений 1 типа от агента.Как я мог сделать это, предполагая отсутствие связи между агентом и работником.Должен ли я иметь отдельную тему «системные события» для каждого работника, где агент пишет эти сообщения?ИЛИ лучше иметь N очередей на верхнем уровне?

1 Ответ

0 голосов
/ 09 октября 2018

Лично я предпочел бы, чтобы логика приостановки / возобновления / регулирования обрабатывалась различными потоками в агенте, которые следуют за потребителем Kafka.Это гарантирует, что если вы ограничиваете определенный тип, это не будет препятствовать обработке для других типов.Таким образом, в основном потребитель Kafka будет делегировать операции, специфичные для типа, различным потокам в зависимости от типа.

...