Построение системы обмена сообщений с помощью ActiveMQ

Sdílet
Vložit
  • čas přidán 7. 09. 2024
  • Андрей Григоров, R-Style Softlab.
    Конференция DevParty (devparty.ru).
    Вологда, 06.10.2018.

Komentáře • 13

  • @familyfirst8549
    @familyfirst8549 Před 3 lety +12

    Шикарная лекция, большое спасибо.
    Особенно доставила тема презентации и футболка в тему презентации :-)

  • @markchesnavsky3273
    @markchesnavsky3273 Před rokem +2

    Супер полезная лекция. Спасибо!

  • @bones_wp_
    @bones_wp_ Před 7 měsíci +1

    Крутая презентация, спасибо!)

  • @whereispie
    @whereispie Před 3 lety +3

    С душой сделал, супер). Спасибо ❤️

  • @konstantine3466
    @konstantine3466 Před 7 měsíci +1

    Автор харизматичный, рассказывает хорошо. Вопросы из зала повторяет в микрофон, редко кто из докладчиков додумывается до такой, казалось бы, очевидной мысли. Пожелаю ему удачи!
    Теперь вопрос. На 79м слайде Андрей предлагает сделать длину буфера равной 1, при этом утверждает, что AMQ возбуждается на половину буфера. При таком решении всегда кто-то будет ждать: либо получатель, либо отправитель. Если же сделать длину равной 2, то пока получатель читает вторую ячейку, отправитель сможет заполнять первую. Может я что-то не понял, или у нас задача замедлить слишком быструю систему?

  • @user-jh1ic7sl8g
    @user-jh1ic7sl8g Před 9 měsíci +1

    Просто топ

  • @viktors8720
    @viktors8720 Před 5 lety +5

    Спасибо за видео. Получается, что при таком горизонтальном масштабировании всю нагрузку(кол-во сообщений) распределяет все равно лишь один узел брокера, скидывая сообщения в такую же очередь другого брокера. Нет такого компонента, который был выполнял функции балансировщика, распределяя сообщения между экземплярами брокеров ActiveMQ по определенным правилам, в зависимости, например, от доступности/загрузки? Или все же есть такие решения, и про них просто не говорилось здесь?

    • @Pan-ux3bq
      @Pan-ux3bq Před 3 lety +2

      Про такие решения говорилось ;) ровно одно предложение. Он сказал, что некоторые разработчики переходят на kafka. Activemq не предназначен для горизонтального масштабирования. Производительность снижается с каждым новым клиентом, т.к. для всех очередей используется один общий журнал, разделяемый всеми пишущими и читающими потоками. Если сообщения персистентные, то в момент получения брокером каждое сообщение должно быть записано на энергонезависимый диск.

    • @viktors8720
      @viktors8720 Před 3 lety

      @@Pan-ux3bq спасибо за ответ.

  • @user-hy8kc7ht7v
    @user-hy8kc7ht7v Před 3 lety +1

    Сервис A передает данные в сервис Б. В сервисе Б нельзя организовать подписку(некое облачное решение сторонних производителей которое не программируется). Однако имеет REST API на входящие запросы. Можно ли используя данный брокер сообщений за ставить его передавать сообщения на этот RESP API? Или же обязательно использовать подписку?

    • @peneksglazami
      @peneksglazami Před 3 lety +2

      Заставить ActiveMQ самостоятельно выгружать сообщений из очереди/топика, передавая их сервису REST API, не получится. Но можно, например, использовать промежуточный компонент, например, Apache Camel или несложное Spring Boot приложение на базе camel-spring-boot-starter, в котором будет производиться вычитывание сообщения из очереди и отправка его на нужный сервис из REST API.

    • @user-hy8kc7ht7v
      @user-hy8kc7ht7v Před 3 lety

      @@peneksglazami Спасибо за ответ, очень помогли)

    • @peneksglazami
      @peneksglazami Před 3 lety +1

      @@user-hy8kc7ht7v Вот пример подобного Spring Boot приложения github.com/peneksglazami/activemq-camel-rest-example