Кейсы использования RabbitMQ+Redis (Spring+Java+RabbitMQ+Redis)

Добрый день. На этом стриме я постараюсь коротко показать какие кейсы при горизонтальном масштабировании RabbitMQ+Redis, которые встречались мне, и как их реализовать при помощи Spring Framework и Java.
Поддержать автора - www.donationalerts.com/r/maycode
Мой Telegramm - t.me/may_code
Мой GitHub - github.com/FriMay
Отличная группа для Java разработчика (фичи, туториалы, статьи) - javatutorial

Пікірлер: 30

  • @BobrKurvva
    @BobrKurvva2 жыл бұрын

    Спасибо, очень круто объясняешь)

  • @user-sn5sw5hq8z
    @user-sn5sw5hq8z3 ай бұрын

    Спасибо за видео, новички тебя не забудут :)

  • @holydrug
    @holydrug Жыл бұрын

    ОООООООООООООООООООООООгромное спасибо за видео!

  • @maycode0

    @maycode0

    Жыл бұрын

    Не за что)

  • @alexanderkondratyev3124
    @alexanderkondratyev3124 Жыл бұрын

    Спасибо, за практическую лекцию! Благодарю!

  • @maycode0

    @maycode0

    Жыл бұрын

    Надеюсь смог помочь)

  • @largozart
    @largozart2 жыл бұрын

    nice

  • @aziztolearn
    @aziztolearn2 жыл бұрын

    good job

  • @maycode0

    @maycode0

    2 жыл бұрын

    Thx

  • @agabov2
    @agabov2 Жыл бұрын

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

  • @maycode0

    @maycode0

    Жыл бұрын

    Извиняюсь)

  • @maycode0

    @maycode0

    Жыл бұрын

    Нервный рассказчик)

  • @maksimus.ssirotkin1124
    @maksimus.ssirotkin11242 жыл бұрын

    Здравствуйте, а конфиг Rabbit у вас нет?

  • @maycode0

    @maycode0

    2 жыл бұрын

    Если добавить зависимость на ребит и включить его, будет использоваться дефолтный конфиг, для локальной тачки

  • @artemmartynenko6417
    @artemmartynenko6417 Жыл бұрын

    Если честно, не понял чем не устроил fixedDelay в сендере, по сравнению с кроном. По идее, если мы уже реализуем монитор, то он должен работать как бы мультипоточность себя не вела, хоть каждую секунду запросы, хоть смещенные по времени с разными интервалами. Если кто-то понял реплику, поясните, плиз

  • @maycode0

    @maycode0

    Жыл бұрын

    Смотри, fixedDelay стартует с момента запуска сервера, а если серверов несколько? Получается у них старт задачи всегда в разное время, поэтому нет гарантии что одна и та же задача будет запущена единожды. В случаем с cron все линейно, все сервера попытаются запустить задачу в одно время. Надеюсь я правильно понял вопрос и не совсем забыл что было в видео)

  • @artemmartynenko6417

    @artemmartynenko6417

    Жыл бұрын

    @@maycode0 ну так лок и нужен что б задачу взял только один сервер. Нет такого подхода в синхронизации, что б по времени идеально распаралеливать, все равно JVM отработает себе на уме и один инстанс приступит с задержкой относительно другого.

  • @maycode0

    @maycode0

    Жыл бұрын

    cron один из вариантов хоть как-то гарантировать что задача будет запущена в один момент, и все серверы кроме одного стопнутся об лок в редисе, только в случае если у сервера сбито время он будет отрабатывать некорректно, но чем лучше fixedDelay? Он в случае и со сбитым временем будет работать не ожидаемым образом и вместо одной выполненой задачи раз в минуту мы можем получить N выполнений. Проведи эксперимент и запусти больше 3 инстов с кроном и fixedDelay запущенные. Задачи должны выполнится раз в минуту и при этом сама функция - просто лог запуска задачи(очень часто встречаются задачи типа удаления старых записей в бд, что выполняется очень быстро) и запусти эти три инста каждый через 7-8 секунд (примерное время поднятие инстов в парралельной среде). Помониторь это минут 15 и посмотри, сколько задач у тебя выполнилось с кроном в сумме и сколько с fixedDelay, тогда и поговорим)

  • @caffeinejavacode1475
    @caffeinejavacode1475 Жыл бұрын

    Жалко что канал забросили

  • @MrDao92
    @MrDao92 Жыл бұрын

    Неясно почему может возникнуть надобность блокировать сообщение.

  • @MrDao92
    @MrDao92 Жыл бұрын

    Worker - неудачное название для создающего таски. Хотя некоторые работники только и делают что создают проблемы другим.

  • @maycode0

    @maycode0

    Жыл бұрын

    Критикуешь - предлагай) Прежде чем что-то назвать неудачным - предложи и обоснуй что тот или иной вариант удачнее

  • @maycode0

    @maycode0

    Жыл бұрын

    Worker предназначен не только для создаваемая тасок, но и выполнения фоновых задач, которые не нужно возлагать на основное API. Про это вроде я говорил

  • @MrDao92

    @MrDao92

    Жыл бұрын

    Предлагаю - Producer.

  • @maycode0

    @maycode0

    Жыл бұрын

    Согласен. В контексте диаграммы - воркер не самое удачное название. Я мыслил в контексте модуля, который в дальнейшем будет переиспользоваться для фоновых задач помимо рассылки эвентов для распределения по ребиту.

Келесі