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 #Многоликий