Перейти к содержимому

Николай Рудопас — Кровь, пот и Kafka. Request/reply не больно (почти)

Joker — Конференция о будущем разработки

0:00 / 0:00

Николай Рудопас — Кровь, пот и Kafka. Request/reply не больно (почти)

2 627 просмотров · 3 дня назад
Joker — Конференция о будущем разработки
57,7 тыс. подписчиков
2 627 просмотров · 3 дня назад
Подробнее о Java-конференциях: — весной — JPoint: https://jrg.su/gTrwHx — осенью — Joker: https://jrg.su/h7yvG4 — — Скачать презентацию с сайта — https://jrg.su/FNuMkU Взаимодействие сервисов через Kafka кажется простой задачей, пока не появляются реальные требования к надежности, порядку обработки сообщений, управлению нагрузкой и exactly-once гарантиями доставки. Мы столкнулись с этим в полной мере, когда разрабатывали оркестратор бизнес-процессов, состоящий из множества небольших нод, каждая из которых должна обогащаться данными, принимать решения и в ряде случаев сохранять состояние. Расскажем, как мы построили надежный и предсказуемый request/reply-механизм поверх Kafka, используя только штатную функциональность клиента и брокера — без избыточных инструментов, очередей на БД и сервисных прослоек. Поделимся архитектурными решениями, эволюцией подходов и тем, что у нас хорошо сработало, а что — не очень. Разберем разные реализации: от поштучного consume-produce и микробатчевой обработки до полного event-loop'а в стиле consume-transform-produce с использованием транзакций Kafka, параллельной обработки и динамических rate-лимитов. Доклад будет интересен тем, кто строит высоконагруженные event-driven системы, ориентированные на надежность, и хочет лучше понять, как извлечь максимум из возможностей Kafka, не усложняя инфраструктуру.