212 похожих чатов

Насчёт атомарных транзакций )) Есть какой-то фреймворк надежный чтобы SAGA

проводить между микросервисами /good practices ?

Есть обеспокоенность ,что в процессе между ивентами в шину,в какой-то локальной транзакций будет считано невалидное значение

Проблема в процессе формирования SAGA

В первом микросервисе локальная транзакция вставила значение закомитилилась ,другой запрос считал это значение
Но в цппочке SAGA какой-то микросервис кинул ивент отката транзакций и пошел процесс комписирующих транзакций (запуск rollback для локальных)

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

К примеру 2pc там в этом плане идет полная блокировка и такого не возникает

21 ответов

14 просмотров

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

опыту авито в вопросах саг я бы не доверял ) а "писать руками" — вообще совет вредный, на самом деле

Александр Ерин
Почему?

почему что ? не доверять авито или не писать руками ?

Denial ...
А ссылочки не найдется?

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мин доклада)

Arthur Irgashev
ну вот я почему и говорю, что немножко дичь. приче...

Честно даже не то что бы страшно звучит для 19-ого года

Sergey P
Честно даже не то что бы страшно звучит для 19-ого...

Ну, для 18-19, может быть, и да. Но референсят-то уже почти в 2025 )

Dmitriy L.
а 24 куда делся?)

А, сорри, я из будущего :)

Arthur Irgashev
Ну, для 18-19, может быть, и да. Но референсят-то ...

я б не удивилась. если бы узнала, что сейчас 25.

Arthur Irgashev
Ну, для 18-19, может быть, и да. Но референсят-то ...

Я в принципе даже лайк на видео поставлю, если осветишь как это делают в 2024 :)

Александр Ерин
https://www.youtube.com/watch?v=OOP_4kuzaWI в форм...

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

TS- Автор вопроса
Artur
посмотрел я этот видос и не понял зачем такой овер...

Ты просто щас сказал, что хореография лучше оркестрации.

Arthur Irgashev
нет оверхеда никакого

как же нет? если у тебя отдельный сервис саг, считай что доп точка отказа

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
читать файл максимально быстро? странный вопрос))
zamtmn
53
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
3
Кто создает тут ботов для телеграмм групп ?
Antskup
8
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Карта сайта