Size: a a a

2020 July 22

AM

Artem Molotov in PHP
достаточно ещё раз запустить и может вполне успешно пройти (без каких либо изменений)
источник

ВУ

Валентин Удальцов... in PHP
проясните, плиз

канонический взгляд на агрегаты/саги такой: агрегат выполняет команды и отправляет события, сага слушает события и отправляет команды. то есть логика в агргегате, координация действий в саге. (в частности, это сказано в https://cqrs.nu/Faq/sagas и многих других статьях)

в то же время в том же NServiceBus и php service bus сага обрабатывает любые сообщения и по идее может быть использована и так, и эдак. это упрощение или альтернативная интерпретация?
источник

ВУ

Валентин Удальцов... in PHP
ping @desper1989 , как автора php service bus )
источник

SM

Sergey Milimko in PHP
источник

ВУ

Валентин Удальцов... in PHP
это не противоречит моей формулировке. сага слушает, что сделали другие, и если кто-то зафейлился, может попросить остальных ревертнуть свои действия
источник

ВУ

Валентин Удальцов... in PHP
нашёл вот такой абзац: https://docs.particular.net/nservicebus/sagas/#accessing-databases-and-other-resources-from-a-saga

он вроде проясняет взгляд nservicebus на саги. то есть, отвечая на свой вопрос, это упрощение
источник

VS

Vyacheslav Startsev in PHP
Валентин Удальцов
проясните, плиз

канонический взгляд на агрегаты/саги такой: агрегат выполняет команды и отправляет события, сага слушает события и отправляет команды. то есть логика в агргегате, координация действий в саге. (в частности, это сказано в https://cqrs.nu/Faq/sagas и многих других статьях)

в то же время в том же NServiceBus и php service bus сага обрабатывает любые сообщения и по идее может быть использована и так, и эдак. это упрощение или альтернативная интерпретация?
Крис Ричардсон в своей книге про микросервисы разделяет реализацию саг на 2 типа:
основанную на хореографии и основанную на оркестрации

Хореография - для простых саг, логика по изменению агрегатов размазывается между сервисами. Один сервис слушает события другого и обновляет какой-то агрегат у себя, генерит событие об этом и т.д.
Оркестрация - для более сложных вещей. В этом случае существует оркестратор/координатор, который запускает сагу, генерит шаги и слушает ответы на каждом шаге, в случае фейла, может инициировать компенсирующие шаги. Вся логика в одном месте

Это просто 2 разных подхода
источник

ВУ

Валентин Удальцов... in PHP
Vyacheslav Startsev
Крис Ричардсон в своей книге про микросервисы разделяет реализацию саг на 2 типа:
основанную на хореографии и основанную на оркестрации

Хореография - для простых саг, логика по изменению агрегатов размазывается между сервисами. Один сервис слушает события другого и обновляет какой-то агрегат у себя, генерит событие об этом и т.д.
Оркестрация - для более сложных вещей. В этом случае существует оркестратор/координатор, который запускает сагу, генерит шаги и слушает ответы на каждом шаге, в случае фейла, может инициировать компенсирующие шаги. Вся логика в одном месте

Это просто 2 разных подхода
это я знаю, это понятно)

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

VS

Vyacheslav Startsev in PHP
а, речь о том, что сага запустится не по доменному событию, а по команде?
сорян, не понял тогда
источник

MM

Maksim Masiukevich in PHP
Валентин Удальцов
ping @desper1989 , как автора php service bus )
Саги - довольно гибкие штуки, которые банально глупо ограничивать кейсом "если событие, то команда".
То, что у меня саги слушают события, упращение. Я там еще сделал, что бы они команды слушали, но не пушил еще. Ведь в сущности нет разницы: написать хендлер, который выгрузит сагу из базы и выполнит какой-то метод, или сразу сага будет слушать команду.

Короч очень зависит от реализации и целей
источник

ВУ

Валентин Удальцов... in PHP
Maksim Masiukevich
Саги - довольно гибкие штуки, которые банально глупо ограничивать кейсом "если событие, то команда".
То, что у меня саги слушают события, упращение. Я там еще сделал, что бы они команды слушали, но не пушил еще. Ведь в сущности нет разницы: написать хендлер, который выгрузит сагу из базы и выполнит какой-то метод, или сразу сага будет слушать команду.

Короч очень зависит от реализации и целей
Спасибо
источник

АГ

Алексей Гевондян... in PHP
нет ли у кого-нибудь ссылки на международный php чат?
источник

AL

Anton Lakotka in PHP
Алексей Гевондян
нет ли у кого-нибудь ссылки на международный php чат?
а чем этот не международный?
источник

АГ

Алексей Гевондян... in PHP
разговаривают по-русски. я хочу туда, где англоговорящая часть комьюнити.  где по-русски не разговаривают. может быть это глупый вопрос и не по теме, простите если так. думал может у кого под рукой есть.
источник

AS

Arseniy Skurt in PHP
он есть но точно не в телеге, она там как бы не особо популярна
источник

AS

Arseniy Skurt in PHP
если ты думаешь что там не будет токсиков - они просто открыто нахуй не посылают, а грамотно заигнорят
источник

АГ

Алексей Гевондян... in PHP
не важно, я просто хочу быть в теме что происходит в мире php там, где его делают. я хочу читать, а не писать, в основном. если это слак / дискорд - отлично.
источник

MM

Maksim Masiukevich in PHP
Наверное, есть какая-то связь, но... я слишком тупой, чтобы её осознать
источник

DT

Dmitriy Tkachenko in PHP
Его делают в гите и internals.io
источник

AL

Anton Lakotka in PHP
Алексей Гевондян
не важно, я просто хочу быть в теме что происходит в мире php там, где его делают. я хочу читать, а не писать, в основном. если это слак / дискорд - отлично.
twitter
reddit
phpinternals
источник