Виктор Гамов - Один раз в год сады цветут: разбор семантики «exactly once» Apache Kafka

Sdílet
Vložit
  • čas přidán 16. 09. 2018
  • Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
    Подробности и билеты: jrg.su/Ypf1HW
    - -
    . . . . Disclaimer: Если вас триггерит от слов «exactly-once delivery», то этот доклад обязателен к просмотру!
    Рост популярности Apache Kafka как потоковой платформы потребовал пересмотра традиционной «как минимум один раз» (at least once) семантики доставки сообщений. В этом докладе Виктор расскажет, что означает семантика «exactly once» в контексте Apache Kafka, какие изменения в протоколе и формате сообщений потребовались, как устроены транзакции и идемпотентные функции Kafka-клиентов. Также поговорим о том, как эти нововведения нашли свое отражение в смежных фреймворках - Kafka Streams и Kafka Connect.
  • Věda a technologie

Komentáře • 13

  • @IIIObscureIII
    @IIIObscureIII Před rokem +3

    Коротко: 1 обновите кафку, 2 используйте транзакции - весь доклад.
    А про вычитывание по 500 сообщений по дефолту и перечитывании до полной обработки и коммите офсета всех 500 - да кому оно нужно!

  • @alexshavlovsky7922
    @alexshavlovsky7922 Před rokem +1

    Внимание! На слайдах в районе 25:00 перепутаны at least once и at most once

  • @atomic.rabbit
    @atomic.rabbit Před 3 lety

    ❤️

  • @user-ei1by3ye6o
    @user-ei1by3ye6o Před rokem

    25:13 Не понимаю, что мешает вести уникальные id-шники сообщений от каждого Producer?
    Послал Producer сообщение с id 188, ack не получил, делает retry. А Kafka получив его второй раз видит, что с id=188 сообщение уже есть и отправляет ack без повторной записи...
    Неужто настолько сложная логика, что сильно затормозит систему?
    29:38 - Собственно, что и сделали... ProducerID и SequenceID - очевидные решения.

  • @kza891
    @kza891 Před 2 lety +1

    Мне кажется или минимум один раз и максимум один раз перепутаны местами? На 25.39

  • @user-gw6df6ns7e
    @user-gw6df6ns7e Před 5 lety

    Механизм транзакций похож на то, что в postgres используется.

  • @ivansobolevskiy2733
    @ivansobolevskiy2733 Před 2 lety +7

    Очень тяжело рассказывает…

  • @57skies
    @57skies Před 2 lety +2

    May be you do know kafka, but explaining things is not your asset. This was terrible, sorry mate.

  • @EvgenyYugov
    @EvgenyYugov Před 2 lety +1

    enable.idempotence=true ставит кафку(4 ноды 32Гб RAM, min isr 2) версии 3.0 раком, даже при микроскопическом RPS порядка 300 штучек

  • @faithInAct
    @faithInAct Před 5 lety

    До того как изобрели велосипед-kafka уже был JMS

    • @user-dk2xo9hj2m
      @user-dk2xo9hj2m Před 5 lety +1

      не путайте теплое с мягким.. очереди сообщений не делают персистент и не перезапускают процессинг.. кафка же позволяет и сохранить сообщения.. и перезапустить процессинг с любого момента времени..

    • @user-gw6df6ns7e
      @user-gw6df6ns7e Před 5 lety

      Это разные вещи немного. Хотя поверх кафки можно попробовать реализовать cпеку jms.

    • @CrazyMutex
      @CrazyMutex Před 3 lety

      @@user-gw6df6ns7e Confluent Kafka JMS Client как раз такое умеет)