| ▲ | kgeist 3 days ago | |
I think what the article is doing wrong is treating all microservices the same. Microservices can be split into at least 3 different groups:
If we split it like this, it's evident that:
This avoids circular dependencies, decreases the height of the tree to 3 in most cases, and also allows to "break" the rule #2 in the article, because come on, no one is going to write several versions of auth just to make it a polytree.It also becomes clearer what a microservice should focus on when it comes to resilience/fault tolerance in a distributed environment: | ||
| ▲ | Etheryte 3 days ago | parent [-] | |
Yeah, as a rule of thumb, this is a considerably better abstraction. Unfortunately it's hard to keep a strong separation between orchestration and business logic in practice, and harder still to ensure the separation stays there over time. | ||