Рет қаралды 60
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
Подробности и билеты: jrg.su/Ypf1HW
- -
Скачать презентацию с сайта JPoint - jrg.su/Q55ABW
Задачи, связанные с потоковой обработкой данных, встречаются довольно часто. Какими инструментами сейчас их принято решать? В большинстве случаев это будет Apache Spark Streaming или Apache Flink, но всегда ли нужно использовать такие массивные фреймворки для решения не самых сложных задач? Перед командой Никиты как раз стояла задача организация мониторинга, которую мы хотели решить, используя что-то легковесное.
Одним из вариантов был Kafka Streams. Зная особенность Kafka Streams в части создания внутренних топиков с состоянием, что приводит к увеличению числа данных, они, взвесив все «за» и «против» классических решений, решили дать библиотеке шанс. Немного ее доработав, им удалось сократить число системных топиков до их минимально необходимого количества и обеспечить нужную нам устойчивость и масштабируемость, что в итоге позволило решить поставленную задачу.
Мониторинг - лишь частный пример подобных задач. Однако этот пример показывает, что задачи, в которых есть джоины топиков 1:N, можно успешно решать с помощью Kafka Streams, а не Spark/Flink, при этом обеспечивая простоту и сохраняя эффективность решения.
Будет интересно разработчикам, архитекторам, ETL-разработчикам.
Технологии: Quarkus, Kafka, Kafka Streams, Queryable State store.