проводить между микросервисами /good practices ?
Есть обеспокоенность ,что в процессе между ивентами в шину,в какой-то локальной транзакций будет считано невалидное значение
Проблема в процессе формирования SAGA
В первом микросервисе локальная транзакция вставила значение закомитилилась ,другой запрос считал это значение
Но в цппочке SAGA какой-то микросервис кинул ивент отката транзакций и пошел процесс комписирующих транзакций (запуск rollback для локальных)
Как быть с ситуацией когда уже считалось значение другим реквестом , а потом пришлось откатить назад ?
К примеру 2pc там в этом плане идет полная блокировка и такого не возникает
От Авито был хороший доклад на эту тему, про оркестрируемую сагу. Там даже расписали из каких компонентов должен такой сервис состоять. Писать только руками его, но он не большой сам по себе
опыту авито в вопросах саг я бы не доверял ) а "писать руками" — вообще совет вредный, на самом деле
почему что ? не доверять авито или не писать руками ?
А ссылочки не найдется?
https://www.youtube.com/watch?v=OOP_4kuzaWI в формате видео https://habr.com/ru/companies/oleg-bunin/articles/418235/ в виде статьи И по хареографии мне этот видос нравится от них https://www.youtube.com/watch?v=6HvSpqBc8fA
ну вот я почему и говорю, что немножко дичь. причем начинается она уже с 1го доклада > сервис саг только 1 > масштабируем за счет шардирования баз > пишем сами > какие-то скип локед > сага должна быть асинхронной > какие-то непонятные чекеры, запускаемые спустя 12 часов жуть просто (и это только первые 15мин доклада)
Честно даже не то что бы страшно звучит для 19-ого года
Ну, для 18-19, может быть, и да. Но референсят-то уже почти в 2025 )
А, сорри, я из будущего :)
я б не удивилась. если бы узнала, что сейчас 25.
Я в принципе даже лайк на видео поставлю, если осветишь как это делают в 2024 :)
посмотрел я этот видос и не понял зачем такой оверхед с отдельным сервисом саг. гораздо проще видится контроль со стороны сервиса, который сам знает какие шаги должны быть выполнены для определенного флоу. т е грубо говоря он может сам пройти по апи других сервисов и все это проделать, если что-то зафейлилось откатить можно так же в обратном порядке. для асинхронных действий растянутых во времени, можно держать стейт в базе и периодически синкать его
Вот я тоже о том же
Ты просто щас сказал, что хореография лучше оркестрации.
нет оверхеда никакого
как же нет? если у тебя отдельный сервис саг, считай что доп точка отказа
не знал определений
да, и это не плохо
Обсуждают сегодня