There are two patterns of building event-driven microservices: Choreography (without centralized coordination) Orchestration (with centralized coordination) Both have pros and cons (however what I’ve learnt is that Orchestration is a better pattern) How to implement Distributed Transactions with Choreography and with Orchestration. How to AVOID implementing Distributed Transactions - a Compensation Workflows approach. All of these is disclosed in the Chapter 8 of the book we are currently studying:
Earlier the book club of our company has studied excellent book: Martin Kleppmann - Designing Data-Intensive Applications This is the best book I have read about building complex scalable software systems. 💪 As usually I prepared an overview and mind-map. Chapter 9 tells about Consistency and Consensus in distributed systems. It covers the following topics: What is consistency and eventual consistency Linearizability. Why it is needed. Difference from Serializability.