Temirlan Amanbayev @temirlan100
Staff Software Engineer с 12+ лет опытом работы
Информация
- В рейтинге
- Не участвует
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Бэкенд разработчик, Архитектор программного обеспечения
Ведущий
От 600 000 ₽
Java
Python
Точно не знаю как это делать в Kafka Streams, я лично такие вещи отлавливаю и уже ручками делаю нужную обработку удаляю окно
спасибо, согласен с вами, про этот аспект упустил в статье
многое зависит от объемов данных, если позволяют + в эко системе Apache Kafka и команда готова поддерживает то почему бы и нет для Kafka Streams, но думаю при больших объемах возможно лучше использовать другие ETL пайплайны и инструменты и да делать это вне шины
Тут наверное не нужно искать решение в плоскости Kafka Streams, на мой взгляд
Обработка ошибок уже зависит от бизнес потребностей, также там было упомянуто про akka, у меня тут к сожалению нет опыта, но стандартно обработать можно так
но так же есть удобная библиотека https://github.com/resilience4j/resilience4j
https://github.com/resilience4j/resilience4j/tree/master/resilience4j-circuitbreaker
https://github.com/resilience4j/resilience4j/tree/master/resilience4j-retry
Тут можно настроить обработчик исключений на уровне конфигурации Kafka Streams
или обрабатывать прям в коде
Ни в какой секте я не состою =)
Мне кажется разбираться в этом не есть плохо.
Хорошо что реализуют и знать это при коммуникациях очень полезно
Сейчас и не вспомню к сожалению) все через документацию
API =) UI тулзы не смотрел
Просто алерты которые через логи можно как то аггрегировать и анализировать в дальнейшем, но чтобы слету как-то преобразовать, такого не знаю и не встречал в своей практики =)
Мы наблюдали, но просадки в performance не заметили
именно так, но мысль про отдельный топик очень интересна!
Логирование происходит в сервисе и в самих логах Kafka
Не уверен что до конца понял Ваш вопрос, есть топики с обязательным требованиям к обратной совместимости и если там что то Deprecated, происходил переезд в новый топик
Отдельное спасибо за Jolt! Так как схожие проблемы всегда решали custom разработкой на Groovy =)