Mente

microservices.htm

Notes on Microservices

Microservices are a great architecture pattern that can allow teams to scale fast. It allows you to use different technologies and to differentiate system boundaries across your services. However, it doesn't need to be the default architecture. For most small teams, a modular monolithic architecture is better than using a microservices architecture.

They're good once your domain model has stabilized and you have clear boundaries.

Pros of Microservices

Cons of Microservices

What makes a good microservices boundary?

Any interaction from a service that depends on another one means the services are coupled. We want to modify and update the services independently.

We generally want strong cohesion and low coupling.

Information Hiding

Cohesion

Coupling

Types of coupling

![[Pasted image 20240612112812.png]]

Domain

![[Pasted image 20240613141735.png|500]]

Pass-through

Bad ![[Pasted image 20240613141749.png|500]]

Better ![[Pasted image 20240613142005.png|500]]

Best ![[Pasted image 20240613141937.png|500]]

Common

Bad ![[Pasted image 20240613142137.png|500]]

Best ![[Pasted image 20240613142309.png|500]]

Content

![[Pasted image 20240613142408.png|500]]

Implementation

Technologies Available