Implementing a saga pattern
As we have learned about how the pub/sub pattern is implemented in Dapr, we can now apply this knowledge to building a more complex scenario, leveraging the saga design pattern for an e-commerce order system.
There are many authoritative sources that discuss saga patterns in detail; we suggest reading https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/saga/saga and https://vasters.com/archive/Sagas.html, since it is not in the scope of this book to add anything to an already rich conversation on the subject.
In a microservice architecture, a business activity (for instance, processing an order) could be divided into smaller tasks, carried out by a sequence of microservices interacting with each other.
We have learned that while a microservice gains a lot of benefits by isolating its state, a consequence of this autonomy is that distributed transactions are not conceivable over disparate combinations of databases and libraries...