Алексей Кашин - Надежно отправляем события в Apache Kafka. От CDC до паттерна Transactional Outbox
ฝัง
- เผยแพร่เมื่อ 5 ก.พ. 2025
- Ближайшая конференция - JPoint 2025, 3-4 апреля (Москва + трансляция).
Подробности и билеты: jrg.su/T2zfbS
- -
Скачать презентацию с сайта Joker - jrg.su/GsNjmb
В современном мире, где микросервисы и распределенные системы - стандарт, надежная и эффективная отправка событий имеет ключевое значение для успеха любого автоматизированного процесса. Для обеспечения надежной доставки событий в очереди существует множество технологий и решений. Однако иногда требуется разработать собственное решение.
Спикер рассмотрел ключевые сложности и особенности надежной отправки событий в Apache Kafka, используя разные решения и подходы, и поделился опытом выбора оптимальных решений для различных ситуаций.
Доклад будет полезен инженерам, использующим Apache Kafka для надежной отправки событий после сохранения данных в реляционных базах, с акцентом на гарантии доставки и предотвращение потерь.
Великолепный доклад, спасибо!
На слайде «запись в таблицу» что имелось ввиду под «События ORM/обработчик транзакций»? Что это за подход такой отличный от proxy?
Что подразумевается под "обновляет статистику системы"? Для обновления систистики нужен именно VACUUM ANALYZE
Что мешает использовать CDC для OutboxTable и не создавать велосипед?
Вы воспользовались партициями что бы не удалять строки потому что это триггерит VACUUM. Так же вы предлагаете изменять статусы у строк что тоже триггерит VACUUM потому что update это на самом деле delete-insert в постгресе. в чем смысл?)
Можно подтюнить настройки таблицы, чтобы vacuum вообще не трогал такую-то таблицу. Тогда освобождение места будет только при дропе партиции, минуя процесс вакуума.
Как раз через пару минут дальше это рассказал )
Интересно что предлагают новые СУБД (nosql/newsql). Может есть системы, где не так остро стоит проблема вакуума. Где блокировки стоят дешевле, а масштабирование лучше
У меня shedLock стабильно давал dead lock
Каким образом? Там есть параметры lockAtLeastFor, lockAtMostFor, которые позволяют решить проблемы слишком быстрого выполнения шелудеров и проблему бесконечного лока при падении реплики.
Прекрасное решение от Yandex для реализации Message Outbox подхода на Spring Boot.
Жаль, что снято с поддержки, но кмк в форках найдутся энтузиасты, кто поддерживает актуальную версию фреймворка.
Там метрики, логи, трейсинг - все работало на ура.
Кто ввел моду на поднятие рук? Какой-то каргокульт. Типо если не поднимут доклад изменится и о чем то по-другому расскажет?
когда вы сидите в зале, и вас спрашивают, вы чувствуете себя вовлечённым. Также вовлечённым чувствует себя и докладчик, в соответствии с этим чувством он может действительно настраивать свой доклад согласно аудитории.
Э - эмпатия
@@ivanafanasyev6637 насчет настраивать не уверен. Обычно это: "никто не пользовался? тогда вам будет тяжло" А дальше по скрипту
@@handle6186 если докладчик плохой, как вы описали, то все остальное тоже будет плохо. А если хороший, то он будет ориентироваться на аудиторию, и поднятие рук ему помогает.
корпоративная херня, стадо спрашивают жевало ли оно сено.
какой только велосипед не придумают лишь бы не трогать NoSQL...
В NoSql тоже актуален CDC
В NoSQL CDC тоже актуально