Best practices
The chained design pattern is simple to implement, especially to deal with tools that we are already accustomed to, such as the HTTP protocol. However, it is very complex to maintain, since the indiscriminate use of direct communication between microservices can generate problems that are difficult to solve.
In patterns that use complex communication, as in the case of the chained design pattern, consistent logs are helpful for identifying anomalies. However, this can be difficult in distributed communication applications.
To help us identify possible errors within a communication flow between distinct microservices, we can make use of the correlation ID.
Correlation ID helps us get an overview of a task distributed across multiple microservices. A simple way to implement correlation ID using HTTP would be to send a UUID in the header of the requests and use this UUID as an identifier to write the logs.
From the patterns we have studied so far, this is the one that has the most...