2016-01-20 4 views
1

В моих потребительских потоках kafka (высокий уровень), после того как я использовал сообщение, я применяю некоторую бизнес-логику к этому сообщению и перенаправляю его на WS. Но этот веб-сервис иногда может быть недоступен, и поскольку я использовал этот объект из kafka, и смещение перемещается вперед, я бы пропустил этот объект.мультиплексирование потребителя и производителя в kafka

Один из способов избавиться от этой проблемы - отключить автозапуск в zookeeper и совершить смещение, вызвав программную информацию, но я ожидаю, что это очень дорогостоящая операция. Я буду производить кафку примерно в 2000 tps и может увеличиться в более поздние времена.

Другой способ, который я не уверен, если это хорошая идея, - если я столкнулся с какой-либо проблемой, снова создав этот потребляемый объект для кафки, но я не видел никаких сообщений, связанных с этим во всех моих googleings. Это вещь, которая даже не значительна?

Не могли бы вы дать мне некоторое представление о том, как справиться с этой ситуацией.

Благодаря

+0

Вы могли решить проблему? – Nautilus

ответ

1

Вы можете оставить назад отказавший сообщение для одной и той же теме или другой по вашему выбору.

Если вы используете ту же тему, вы будете выталкивать сообщения в конце темы, и они будут подхвачены после других (так что, если порядок не подходит для вас, не делайте этого). Кроме того, если действие, которое вы выполняете перед отправкой сообщения, не является идемпотентным, вам придется что-то идентифицировать эти записи, чтобы они не выполняли действие дважды.

Если вы используете fail_topic, вы можете нажать сообщения, которые вы не можете отправить в эту тему, и когда WS снова станет здоровым, вам нужно создать потребителя, который потребляет все сообщения там и отправляет их на WS.

Надеюсь, это поможет!

+0

спасибо за ваше предложение. Я начал реализовывать, как вы объяснили выше;) – jit

1

Перемещение таких сообщений в очередь ошибок и повтором их позже является хорошо известным подходом.

Dead letter channel См

Смежные вопросы