Use a microservice architecture.
It's always better.
Even the very internal structure of any of the architectures is broken into small chains, independent of each other.
Then there is whatever one may say - the principle of microservices within the architecture is always used. This principle should be extended to a higher level. This achieves fault tolerance and independence of the errors of some parts from others.