Size: a a a

2021 January 14

AD

Andrey Dembitskyi in symfony
Dmitry
ага, из этой же доки
php bin/console messenger:consume async_priority_high async_priority_low
Почти.
Эта штука требует роутить по типам сообщения, а не хендлерам
источник

SB

Sergei Baikin in symfony
Сергей Вершинин
а в чем проблема иметь два пода

php bin/console messenger:consume queue1
php bin/console messenger:consume queue2

?
а толку?
внутри них сообщение
и на каждое у нас по 10 слушателей
как нам поможет что собщение будет в 2 очередях?
источник

AD

Andrey Dembitskyi in symfony
Andrey Dembitskyi
Почти.
Эта штука требует роутить по типам сообщения, а не хендлерам
Есть два хендлера:
1) колбасит одно сообщение 30 секунд
2) обрабатывает сообщение 50 милисекунд

Скейлить нужно по разному
источник

СВ

Сергей Вершинин... in symfony
я к тому, что их можно разделить между 10 handlerами для одного и тогоже message
источник

SB

Sergei Baikin in symfony
Сергей Вершинин
я к тому, что их можно разделить между 10 handlerами для одного и тогоже message
ну тоесть вы под каждый слушатель предлагаете создавать по одельной очереди\басу?
источник

СВ

Сергей Вершинин... in symfony
бас один. ладно, я все) пойду почитаю чего там в sqs не так
источник

AD

Andrey Dembitskyi in symfony
Sergei Baikin
ну тоесть вы под каждый слушатель предлагаете создавать по одельной очереди\басу?
А как без раздельных очередей независимо обрабатывать?
источник

СВ

Сергей Вершинин... in symfony
так у вас какое решение?

1 очередь, там одно сообщение попадает, что создан заказ.
а дальше как?
источник

SB

Sergei Baikin in symfony
И да месаджи роутятся в осереди по сообщению а не по обрабочику что тоже дичь
       routing:
           App\Message\SmsNotification: sync

Ибо у меня есть важные обрабочки и не важные
сообзение само по себе не знает своей важности
обрабочик это знает
источник

D

Dmitry in symfony
делается нужное количество транспортов - потом консьюмеры читают каждый отдельный транспорт
все
источник

SB

Sergei Baikin in symfony
Сергей Вершинин
так у вас какое решение?

1 очередь, там одно сообщение попадает, что создан заказ.
а дальше как?
Мой бас во время отправки собщения находит обработчики и если их два отпрвляет 2 собщения в которых прописана сообещние и обработчик для оного
Если оно прописано как внешнее то еще и во внешний транспорт (SNS в моем случае) отправлдяется чтобы другие сервисы могли подписатся

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

При потребелиии оных месадж бас просто иполняет инструкци
источник

SB

Sergei Baikin in symfony
Dmitry
делается нужное количество транспортов - потом консьюмеры читают каждый отдельный транспорт
все
а как зароутить разные слушатели в разные транспорты?
источник

AD

Andrey Dembitskyi in symfony
Sergei Baikin
И да месаджи роутятся в осереди по сообщению а не по обрабочику что тоже дичь
       routing:
           App\Message\SmsNotification: sync

Ибо у меня есть важные обрабочки и не важные
сообзение само по себе не знает своей важности
обрабочик это знает
видно делали упор в пользу сообщений-команд, не событий
источник

D

Dmitry in symfony
routing:
           'App\Message\SmsNotification':  async_priority_low
           'App\Message\NewUserWelcomeEmail':  async_priority_high
источник

D

Dmitry in symfony
вот вам роутинг сообщений в разные транспорты
источник

SB

Sergei Baikin in symfony
Dmitry
routing:
           'App\Message\SmsNotification':  async_priority_low
           'App\Message\NewUserWelcomeEmail':  async_priority_high
это роутинг сообещнеий а не слушателей
тоесть все слушатели по проежнему в одном транспорте
источник

SB

Sergei Baikin in symfony
Andrey Dembitskyi
видно делали упор в пользу сообщений-команд, не событий
не очень понял в что вы имеете ввиду
я делал упор на то чтобы независимо обрабатывать каждый слушатель
источник

AD

Andrey Dembitskyi in symfony
Sergei Baikin
не очень понял в что вы имеете ввиду
я делал упор на то чтобы независимо обрабатывать каждый слушатель
я про messenger и их решение роутить от сообщения
источник

SB

Sergei Baikin in symfony
Andrey Dembitskyi
я про messenger и их решение роутить от сообщения
а понял для комнад баса то норм да
источник

MM

Maksim Masiukevich in symfony
Andrey Dembitskyi
видно делали упор в пользу сообщений-команд, не событий
такой подход неплохо упрощает еррор хендлинг. когда у тебя 10 слушателей ждут 1 событие и 1 из них упадёт, ретрай выполнить проще.

Но в целом особой разницы нет
источник