Получи случайную криптовалюту за регистрацию!

SAGA - подборка ссылок из обсуждений чата канала: Первоисто | Микросервисы / распределенные системы

SAGA - подборка ссылок из обсуждений чата канала:

Первоисточник по SAGA: "SAGAS" by Hector Garcia-Molina, Kenneth Salem

Перевод первоисточника по SAGA: "Гектор Гарсия-Молина и Кеннет Салем — «Саги»" / Михаил Ланкин

Applying the Saga Pattern • Caitie McCaffrey • GOTO 2015

Saga distributed transactions pattern

Process Manager Pattern

Compensating Transaction pattern

Пример реализации SAGA на Enterprise Integration Patterns (source code)

Пример реализации Process Manager от сообщества Microsoft (комментарий Greg Young). Альтернативы и обоснование.

Patterns and implementations for a banking cloud transformation

Несколько реализаций саг:
- https://axoniq.io
- https://eventuate.io/abouteventuatetram.html
- https://github.com/eclipse/microprofile-lra
- https://github.com/jbosstm/narayana/tree/master/rts/lra

Awesome workflow engines

"A long-running transaction model of workflow" by Quanzhou Hu; Jia Liu; Yi Zhuang; Yi Liu

"The CORBA Activity Service Framework for supporting extended transactions" by Iain Houston, M. C. Little, Ian Robinson, Santosh K. Shrivastava, Stuart M. Wheater

"What are long running processes?" by Bernd Rücker

Чем отличается SAGA от Process Manager:
- https://event-driven.io/en/saga_process_manager_distributed_transactions/

- https://stackoverflow.com/a/33652837

- https://blog.devarchive.net/2015/11/saga-vs-process-manager.html?m=1

"Eventually consistent" by Werner Vogels

"ACID properties of transactions"

"Atomicity :: Chapter 12. Berkeley DB Transactional Data Store Applications"

"Atomic - indivisible, not capable of being cut/divided into smaller pieces"

"Consistency Models"

интервью "Modeling Uncertainty with Reactive DDD" by Vaughn Vernon reviewed by Thomas Betts, в котором V.Vernon предлагает использовать Process Manager Pattern для обработки процессов, охватывающих несколько агрегатов в условиях Eventual Consistency.

Посмотреть реализацию в исполнении V. Vernon, включая ProcessTimedOut (о чем часто спрашивают), можно здесь:
- Java
- .Net

"Camunda Platform 8 Docs :: BPMN coverage"

Eclipse Microprofile стандарт имеет понятие LRA - Long Running Application. это есть их интерпретация саг

Microprofile-compatible фреймворки а-ля micronaut.io

RedHat развивает референс имплементацию Microprofile в виде своего фреймворка quarkus.io

Red Hut Summit "Saga: The new era of transactions in a
microservices architecture" by Giovanni Marigi, Mauro Vocale. BOSTON, MA | MAY 7-9, 2019

Вот пример Camunda. их интерпретация и имплементация саг )). Там всё очень упрощено и декларативно.

Architecture standard определяет сагу в пункте 21.2.7. Ensuring Global Consistency with Saga Patterns

Спасибо, что развиваете отрасль с помощью нашего чата!

#DistributedSystems #Многоликий