PV217 Service Oriented Architecture

Week 11 - Microservices Patterns (6.12.2024)

In this lecture, we look at Microservices patterns to get an overview of patterns both for the design and migration from monolithic systems. In particular, we look at the Strangler Fig pattern, the Saga pattern (both in the orchestration and choreography variants), and the CQRS pattern.


Lecture slides

Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/podzim2024/PV217/um/Lect-11_MicroservicesPatterns.pdf

Orchestration vs Choreography

Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/podzim2024/PV217/um/50992790/50992799/MS-orchestration-choreography.png

Video


Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/podzim2024/PV217/um/videos/Lect20241206.mp4


Additional Material

Migrations from monolith to microservices

Suggested reads from the following document: "Principles for Microservice Design: Think IDEALS, Rather than SOLID" and "Migrating Monoliths to Microservices With Decomposition and Incremental Changes":

Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/podzim2024/PV217/um/50549403/Re-examiningMicroservicesAftertheFirstDecade.pdf

Master thesis about Migrations from Monoliths to Microservices that was defended in 2022:


SAGA PAttern

Article about comparison of frameworks supporting the Saga pattern: Štefanko, M., Chaloupka, O., Rossi, B.  (2019). The Saga pattern in a reactive microservices environment. In Proc. 14th Int. Conf. Softw. Technologies (ICSOFT 2019) (pp. 483-490).

Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/podzim2024/PV217/um/50549403/The_Saga_Pattern_in_aReactive_MicroservicesEnvironment.pdf

Martin Stefanko's thesis, Master thesis that was defended in 2018:


The following is an example on how to implement the Saga Pattern in Quarkus:


CQRS + Event Sourcing

Example of CQRS with Quarkus: