Алексей Кашин - Надежно отправляем события в Apache Kafka. От CDC до паттерна Transactional Outbox

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.พ. 2025
  • Ближайшая конференция - JPoint 2025, 3-4 апреля (Москва + трансляция).
    Подробности и билеты: jrg.su/T2zfbS
    - -
    Скачать презентацию с сайта Joker - jrg.su/GsNjmb
    В современном мире, где микросервисы и распределенные системы - стандарт, надежная и эффективная отправка событий имеет ключевое значение для успеха любого автоматизированного процесса. Для обеспечения надежной доставки событий в очереди существует множество технологий и решений. Однако иногда требуется разработать собственное решение.
    Спикер рассмотрел ключевые сложности и особенности надежной отправки событий в Apache Kafka, используя разные решения и подходы, и поделился опытом выбора оптимальных решений для различных ситуаций.
    Доклад будет полезен инженерам, использующим Apache Kafka для надежной отправки событий после сохранения данных в реляционных базах, с акцентом на гарантии доставки и предотвращение потерь.

ความคิดเห็น •

  • @KostLogRU
    @KostLogRU 2 หลายเดือนก่อน +3

    Великолепный доклад, спасибо!

  • @arturbarkou6347
    @arturbarkou6347 หลายเดือนก่อน +1

    На слайде «запись в таблицу» что имелось ввиду под «События ORM/обработчик транзакций»? Что это за подход такой отличный от proxy?

  • @BlindVirtuoso
    @BlindVirtuoso 2 หลายเดือนก่อน +1

    Что подразумевается под "обновляет статистику системы"? Для обновления систистики нужен именно VACUUM ANALYZE

  • @АлексейКузнецов-и5ь7р
    @АлексейКузнецов-и5ь7р หลายเดือนก่อน

    Что мешает использовать CDC для OutboxTable и не создавать велосипед?

  • @BlindVirtuoso
    @BlindVirtuoso 2 หลายเดือนก่อน

    Вы воспользовались партициями что бы не удалять строки потому что это триггерит VACUUM. Так же вы предлагаете изменять статусы у строк что тоже триггерит VACUUM потому что update это на самом деле delete-insert в постгресе. в чем смысл?)

    • @АндрейТурбанов-к9ж
      @АндрейТурбанов-к9ж 2 หลายเดือนก่อน

      Можно подтюнить настройки таблицы, чтобы vacuum вообще не трогал такую-то таблицу. Тогда освобождение места будет только при дропе партиции, минуя процесс вакуума.

    • @MrRomanvideo
      @MrRomanvideo หลายเดือนก่อน

      Как раз через пару минут дальше это рассказал )

  • @vlad4338
    @vlad4338 2 หลายเดือนก่อน

    Интересно что предлагают новые СУБД (nosql/newsql). Может есть системы, где не так остро стоит проблема вакуума. Где блокировки стоят дешевле, а масштабирование лучше

  • @salexs.7522
    @salexs.7522 2 หลายเดือนก่อน

    У меня shedLock стабильно давал dead lock

    • @ruslooob
      @ruslooob 2 หลายเดือนก่อน +3

      Каким образом? Там есть параметры lockAtLeastFor, lockAtMostFor, которые позволяют решить проблемы слишком быстрого выполнения шелудеров и проблему бесконечного лока при падении реплики.

  • @alsaunin
    @alsaunin 2 หลายเดือนก่อน

    Прекрасное решение от Yandex для реализации Message Outbox подхода на Spring Boot.
    Жаль, что снято с поддержки, но кмк в форках найдутся энтузиасты, кто поддерживает актуальную версию фреймворка.
    Там метрики, логи, трейсинг - все работало на ура.

  • @handle6186
    @handle6186 2 หลายเดือนก่อน +7

    Кто ввел моду на поднятие рук? Какой-то каргокульт. Типо если не поднимут доклад изменится и о чем то по-другому расскажет?

    • @ivanafanasyev6637
      @ivanafanasyev6637 2 หลายเดือนก่อน +6

      когда вы сидите в зале, и вас спрашивают, вы чувствуете себя вовлечённым. Также вовлечённым чувствует себя и докладчик, в соответствии с этим чувством он может действительно настраивать свой доклад согласно аудитории.

    • @igorshingelevich7627
      @igorshingelevich7627 2 หลายเดือนก่อน

      Э - эмпатия

    • @handle6186
      @handle6186 2 หลายเดือนก่อน +1

      @@ivanafanasyev6637 насчет настраивать не уверен. Обычно это: "никто не пользовался? тогда вам будет тяжло" А дальше по скрипту

    • @ivanafanasyev6637
      @ivanafanasyev6637 2 หลายเดือนก่อน +1

      @@handle6186 если докладчик плохой, как вы описали, то все остальное тоже будет плохо. А если хороший, то он будет ориентироваться на аудиторию, и поднятие рук ему помогает.

    • @bananasba
      @bananasba 2 หลายเดือนก่อน

      корпоративная херня, стадо спрашивают жевало ли оно сено.

  • @SpiritVoodoo
    @SpiritVoodoo 2 หลายเดือนก่อน +1

    какой только велосипед не придумают лишь бы не трогать NoSQL...

    • @semenivanoff8615
      @semenivanoff8615 2 หลายเดือนก่อน

      В NoSql тоже актуален CDC

    • @semenivanoff8615
      @semenivanoff8615 2 หลายเดือนก่อน

      В NoSQL CDC тоже актуально