Understanding the pattern
In the previous chapters, we saw how to apply some very interesting patterns, and we could observe that each of these patterns has a very specific utility. In this sense, there are patterns that enable technical functionality, such as scalability, availability, and resilience. We also saw that there are other patterns that focus on enabling the business layer.
This is the case that occurs when we compare the aggregator design pattern and the chained design pattern. The two patterns bring improvements to the business, but it is very clear that the aggregator design pattern is aimed more at the technical part, and the chained design pattern looks for a solution to serve the business, where, in some cases, the solution may not be the healthiest option for the application.
The branch design pattern is an extension of the aggregator design pattern that enables simultaneous processing of responses from two chains of microservices. The branch seeks to be an intermediate...