We know that sometimes, direct communication between microservices is inevitable. For the moment, the chained design pattern works very well. However, a long chain of communication represents a great complexity of maintenance.
When necessary, maintain direct communication only on one level, for example, Service A-> Service B. When direct communication has two or more levels, for example, Service A-> Service B-> Service C, the risk of system failures, the complexity of deployment, and scalability increase.
Whenever there is direct communication between microservices as more than one level is implemented, a systemic point of failure is created, particularly if direct communication is performed to collect data for ...