Григорий Кошелев - Когда всё пошло по Кафке

Поділитися
Вставка
  • Опубліковано 4 сер 2019
  • Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
    Подробности и билеты: jrg.su/Ypf1HW
    - -
    . . . . Полезный доклад, в котором не только рассказываются грабли в эксплуатации Apache Kafka, но и объяснены трейд-оффы и архитектурные особенности, которые к этим граблям приводят. Если у вас есть Кафка, то доклад стоит послушать.
    Погрузимся в архитектуру компонентов Кафки. Вместе пройдёмся по граблям, которые заботливо собраны в одну презентацию. Постараемся понять, откуда в Кафке взялись различные ограничения. Всё по-честному, никакого маркетинга.
    Выбранные для доклада грабли помогут ответить на следующие вопросы:
    Что не так с настройками (по умолчанию)?
    К каким неожиданностям должны быть готовы клиенты?
    Зачем Кафке девопс?
    Много настроек - это хорошо или плохо?
    О чём забыли написать в документации?
  • Наука та технологія

КОМЕНТАРІ • 27

  • @vibedistortion
    @vibedistortion 5 років тому +7

    познавательно и по делу!

  • @simplechannel7859
    @simplechannel7859 3 роки тому

    Лайк докладчику!

  • @mfe_
    @mfe_ 4 роки тому

    Очень жизненно, к сожалению.

  • @alexanderten9540
    @alexanderten9540 9 місяців тому

    Можно разобрать async...await как мессадж времени жизни по Кафке? Это то, что Бутстрапу нужно от Кафки

  • @pvinnie3827
    @pvinnie3827 Рік тому

    а теперь еще помножте все это на разную реализацию в разных либах на разных ЯП. Автору респект, конечно

  • @olegmaslov2057
    @olegmaslov2057 3 роки тому

    10:50 Какой смысл считать номер партиции для нового сообщения? Ведь банальный "револьверный подход" будет сохранять новые сообщения равномерно по всем партициям по кругу. А на высчитывание хэша и получение остатка от деления уйдёт какое-то процессорное время...

    • @avchitov
      @avchitov 3 роки тому +2

      например, если нужно чтобы данные по одному и тому же клиенту попадали всегда на одну и ту же партицию. Почитайте про шардирование - аналогия 1 к 1.

  • @johngraham8220
    @johngraham8220 2 роки тому +1

    18:02 не понял противопоставления ОРСУБД и брокера сообщений. Это как бы штуки, предназначенные для разных целей.

  • @TaranovskiAlex
    @TaranovskiAlex 5 років тому

    Спасибо за доклад!

  • @antNecrom
    @antNecrom 4 роки тому +1

    Очень приятный докладчик, очень хороший доклад

  • @derzimstroy
    @derzimstroy 4 роки тому

    А кто может сказать, как определяется момент удаления сообщения в шине, если она не знает ничего про подписчиков ? Или всё-таки знает ?

    • @hrensgoryable
      @hrensgoryable 4 роки тому +1

      В каждом топике настраивается retention - критерий удаления сообщений. Можно настроить по времени (от момента получения сообщения, это включено по умолчанию с временем жизни в одну неделю) или по размеру данных топика на диске. Про подписчиков топик ничего не знает, ему всё равно есть ли они, сколько их, кто из них что прочитал и т.п. - это их дело.

    • @derzimstroy
      @derzimstroy 4 роки тому +2

      @@hrensgoryable
      Спасибо за пояснение, возникает ощущение, что Кафка не годится для систем где сообщения принципиально не должны теряться и дублироваться например, банковских или платежных. А вот для всяких логов/статистики - пойдет.

    • @hrensgoryable
      @hrensgoryable 4 роки тому +1

      @@derzimstroy чтобы не терялись можно добиться относительно просто, а вот к повторному появлению того же сообщения в обработке надо быть готовым.

    • @derzimstroy
      @derzimstroy 4 роки тому +1

      @@hrensgoryable
      На клиентах надо тщательно кодить и сохранять id последних обработанных собщениий, нет воокфлоу обработки и обогащения сообщений, а в чем тогда преимущества ? Типа бесплатный сыр ?

    • @hrensgoryable
      @hrensgoryable 4 роки тому +3

      @@derzimstroy на клиенте надо всегда быть готовым к тому, что прилетит уже обработанное сообщение (либо быть готовым к потерям) - гарантии доставки уровня exactly once это скорее теоретическая возможность такой доставки, чем практическая гарантия. Преимущества - имеется в виду перед чем? Если вам не нужно обрабатывать миллионы/миллиарды сообщений в день, то JMS как по мне удобнее. Если надо - то Кафка выглядит интереснее, т.к. она изначально спроектирована так, чтобы её легко было горизонтально масштабировать, когда возможностей вертикального масштабирования уже не хватает.

  • @vyacheslavbelov4320
    @vyacheslavbelov4320 4 роки тому +4

    Хороший доклад. Люди заново изобретают велосипед. Смотрю на все это и думаю чем JMS не устраивает? В лучшей его реализации. С 2008 года использую Sonic MQ. Все там было о чем сейчас хайп поднимают.

    • @12zxqwas1
      @12zxqwas1 4 роки тому

      На 4 минуте ответ уже.

    • @vyacheslavbelov4320
      @vyacheslavbelov4320 4 роки тому +2

      И это все? Но увы, тоже есть в JMS.

    • @manOfPlanetEarth
      @manOfPlanetEarth 3 роки тому +1

      @@12zxqwas1
      Есть чем дальше парировать Вячеслава Белова?🤔

    • @manOfPlanetEarth
      @manOfPlanetEarth 3 роки тому

      @@12zxqwas1
      ????

    • @ildarvalitov2568
      @ildarvalitov2568 8 місяців тому

      Кафка это распределённый высоконадежный и высокопроизводительный лог. Этот проект был спроектирован как лог. Его можно использовать как massage broker, но это вариант использования 😊