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
Orchestration vs Choreography
Video
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":
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).
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: