Разработал систему генерации и обработки событий на Golang с использованием Apache Kafka.
Producer умеет работать в синхронном, асинхронном и пакетном режимах, генерировать постоянную и пиковую нагрузку и повторять отправку сообщений при ошибках.
Consumer обрабатывает события пакетно или по временному интервалу и сохраняет данные в ClickHouse.
Реализовано:
— Kafka producer/consumer;
— sync / async / batch обработка;
— retry с exponential backoff;
— Dead Letter Queue;
— ClickHouse;
— Prometheus-метрики;
— HTTP API управления;
— Docker Compose;
— обработка высоконагруженного потока событий.
https://github.com/flastors/kafka-producer-consumer