Fail strategies
We saw a number of anti-patterns in the process of developing our application. However, among all the collateral damage that can be generated by anti-patterns, the most harmful for an application that uses the microservices architecture is the cyclic call between microservices.
Cyclic calls prevent continuous integration, independent deployment, and progressive evolution of each microservice and create a false sense of success in tests. A good example of this kind of failure is if we removed NewsOrchestrator
and passed the orchestration responsibility to one of the internal layer microservices. A microservice would have the domain corrupted, in addition to generating the need to deploy with other parts of the application at the same time.
The proper adoption of the patterns acts to prevent this type of failure in the strategy of microservices.
Obviously, techniques such as circuit breaker and timeout, as explained in Chapter 4, Microsystem Ecosystem, are welcome whenever we...