Size: a a a

2020 November 16

MM

Maksim Masiukevich in PHP
Евгений Ромашкан
Хм, ну можно делать ретрай несколько раз, а потом зафейлить, мол "ошибка сервера"
тебе надо не просто ретраить, а сделать так, что бы всё, что идёт после лока, потом выполнилось в нужном порядке) в синхронной системе тут в разы проще, в асунке - уже нихера)
источник

SZ

Sergey Zolotov in PHP
Maksim Masiukevich
повесить мьютекс и гарантировать, что никто в рамках это агрегата вперёд не пролезет. И, главное, если у тебя шина условный кролик - что делать с сообщениями, которые идут после мьютекса? в очередь в конец перекидывать до усрачки?
тогда уж проще запретить работать с очередью больше чем одному консьюмеру)
источник

MM

Maksim Masiukevich in PHP
Anton Titov
как только начинаешь видеть воркфлоу то становится сложно остановиться
вопрос привычки и проф деформаций
источник

AT

Anton Titov in PHP
на больших масштабах кенцелы вылезут, и все ошибки конкурентности вылезут
источник

MM

Maksim Masiukevich in PHP
Sergey Zolotov
тогда уж проще запретить работать с очередью больше чем одному консьюмеру)
ну я там выше как раз про это и написал, говоря о всяких меилбоксах
источник

AT

Anton Titov in PHP
Maksim Masiukevich
вопрос привычки и проф деформаций
ну я в контексте распределенных транзакций
источник

MM

Maksim Masiukevich in PHP
Anton Titov
ну я в контексте распределенных транзакций
говорю же, вопрос привычки. мне сейчас, например, обычный круд кажется сложнее, чем мешанина из сотни непонятных сообщений
источник

k

knopkod4v in PHP
Maksim Masiukevich
тебе надо не просто ретраить, а сделать так, что бы всё, что идёт после лока, потом выполнилось в нужном порядке) в синхронной системе тут в разы проще, в асунке - уже нихера)
это можно гарантировать на уровне приложения. Ты не можешь отменить счёт, пока счёт не выставлен. Прилетит команда отменить счёт - не найдёт счёта, уйдёт в ретрай до тех пор, пока не прилетит команда выставить счёт. После этого выполнится и отменить счёт, т.к. счёт уже будет выставлен
источник

AT

Anton Titov in PHP
Maksim Masiukevich
говорю же, вопрос привычки. мне сейчас, например, обычный круд кажется сложнее, чем мешанина из сотни непонятных сообщений
мы сейчас архиклевую штуку пишем на эту тему, в партнерстве с temporal, чтобы вообще разницы не было что распределенный что доменный код
источник

MM

Maksim Masiukevich in PHP
knopkod4v
это можно гарантировать на уровне приложения. Ты не можешь отменить счёт, пока счёт не выставлен. Прилетит команда отменить счёт - не найдёт счёта, уйдёт в ретрай до тех пор, пока не прилетит команда выставить счёт. После этого выполнится и отменить счёт, т.к. счёт уже будет выставлен
ну я там накидал 1 вариант решения, думаю, в конце следующей недельки чё-нить закину. Если @Enleur  не заставит эльфа качать)
источник

k

knopkod4v in PHP
@Enleur даже не думай!
источник

MM

Maksim Masiukevich in PHP
Anton Titov
мы сейчас архиклевую штуку пишем на эту тему, в партнерстве с temporal, чтобы вообще разницы не было что распределенный что доменный код
звучит, как говно)
источник

ЕР

Евгений Ромашкан... in PHP
Maksim Masiukevich
тебе надо не просто ретраить, а сделать так, что бы всё, что идёт после лока, потом выполнилось в нужном порядке) в синхронной системе тут в разы проще, в асунке - уже нихера)
Ну у нас синхронно всё, хотя пойнт хороший
источник

AT

Anton Titov in PHP
Maksim Masiukevich
звучит, как говно)
посмотрим что получится, платформа у них тащит весь убер
источник

MM

Maksim Masiukevich in PHP
да убер простой, как лопата
источник

MM

Maksim Masiukevich in PHP
1 сага и пара табличек для кэшфлоу)
источник

AT

Anton Titov in PHP
:D
источник

MM

Maksim Masiukevich in PHP
Anton Titov
посмотрим что получится, платформа у них тащит весь убер
репа-то есть? откуда идеи пиздить?)
источник

k

knopkod4v in PHP
Maksim Masiukevich
ну я там накидал 1 вариант решения, думаю, в конце следующей недельки чё-нить закину. Если @Enleur  не заставит эльфа качать)
как закончишь ретраи - там ещё нужно будет сделать так, чтобы ретраи на 1 команду всегда давали одинаковый результат (по типу outbox паттерна) :D
источник

AT

Anton Titov in PHP
Maksim Masiukevich
репа-то есть? откуда идеи пиздить?)
источник