Pull to refresh

Comments 1

Столкнулись со схожими проблемами (а с ними столкнутся все, кто будет делать подобное) на кафке.

Боремся так:
1) Строгая типизация на входе и выходе с помощью avro-схем
2) Выборка сообщений из очереди и подтверждение — строго по одному
3) Классификация ошибок на 2 типа — при которых нужно остановить обработку очереди (например отвалилась БД) и которые можно пропустить.
4) «Пропущенные» сообщения перенаправляются в отдельную очередь и ждут когда их разрулят. Разруливают либо быстрым патчем основного пула обработчиков или специальным обработчиком под конкретную проблему.
5) Каждое сообщение обогащается мета-информацией о пути на графе обработки. Благодаря этому становиться возможным проследить его путь. Нам это очень важно т.к. у нас граф с циклами.
Sign up to leave a comment.