The 4th pattern to build microservices is to use Lightweight Frameworks.
Lightweight Frameworks provide similar functionality to Heavyweight Frameworks, but they heavily rely on:
the event broker the container management system (CMS) In many cases they exceed Heavyweight Frameworks.
Different apps can use any/different resources from the cluster which are better fit their needs. While still provide Scaling and Recovering from Failures (again by heavily relying on event broker and CMS).
Heavyweight Stream Processing Frameworks are another foundation/pattern to build your microservices.
These frameworks are highly scalable and allow you to efficiently solve many analytical tasks. But they are not always good for stateful event-driven microservice application patterns.
Heavyweight frameworks operate using centralized resource clusters, which may require additional operational overhead, monitoring, and coordination to integrate successfully into a microservice framework. However, recent innovations move these frameworks toward container management solutions (CMS) such as Kubernetes that should reduce your efforts.
The book club of our company has chosen a new wonderful book for reading:
Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design
👍
The part VI undermines some foundations 😀:
Do you know that Database is a “detail”? An unimportant minor low-level non-essential feature that can be neglected in architecture design! Do you know the same about the Web? It is just an unimportant IO device that should also be neglected in architecture design!