How to prevent Microservices from turning into Distributed Monolith