Skip to content

References: Distributed Systems Patterns

Curated sources for deeper study of Saga transactions, API versioning, contract-first design, sidecar and ambassador patterns, database-per-service, and synchronous vs. asynchronous communication.

Books

  • Richardson, Chris. (2018). Microservices Patterns. Manning Publications. Provides the most detailed treatment of the Saga pattern (both choreography and orchestration), database-per-service vs. shared database, and API versioning strategy — the core patterns examined in this chapter.

  • Newman, Sam. (2019). Monolith to Microservices. O'Reilly Media. Covers service contract design, API versioning, and the migration from shared databases to database-per-service patterns, with quality attribute tradeoffs directly applicable to ATAM evaluation.

  • Burns, Brendan. (2018). Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services. O'Reilly Media. Covers the sidecar, ambassador, and adapter patterns in detail as infrastructure-level extension mechanisms, with modifiability and availability quality attribute analysis matching this chapter's ATAM perspective.

Articles and Papers

  • Garcia-Molina, Hector, and Kenneth Salem. (1987). "Sagas." Proceedings of the 1987 ACM SIGMOD International Conference on Management of Data. The foundational paper introducing the Saga concept for long-running transactions, providing the theoretical basis for the compensating transaction pattern analyzed in this chapter.

  • Fowler, Martin, and James Lewis. (2014). "Microservices." martinfowler.com. The influential article that established the microservices pattern including the database-per-service principle and the service contract concept, available at martinfowler.com and directly relevant to this chapter's ATAM findings on shared database risks.

Online Resources

  • "Saga Pattern." Microservices.io. Chris Richardson. https://microservices.io/patterns/data/saga.html The canonical reference for Saga pattern implementation including choreography vs. orchestration comparison and compensating transaction design — the primary resource for this chapter's Saga analysis.

  • "Schema Registry." Confluent Documentation. https://docs.confluent.io/platform/current/schema-registry/ Official documentation for schema registry concepts, compatibility modes, and event schema versioning that prevent the silent consumer breakage risk analyzed in this chapter.

  • "API Design Guide." Google Cloud. https://cloud.google.com/apis/design Google's comprehensive API design guide covering backward compatibility, versioning strategies, and contract-first principles — directly applicable to the API versioning tradeoff analysis in this chapter.

  • "OpenAPI Specification." OpenAPI Initiative. https://spec.openapis.org/oas/v3.1.0 The official OpenAPI specification supporting contract-first design as described in this chapter, enabling server stub and client SDK generation from API contract definitions.

Videos

  • "SAGA Pattern for Microservices Distributed Transactions." Tech with Nana. YouTube. Clear visual walkthrough of Saga choreography and orchestration, including compensation flow, that helps students understand the step-by-step transaction and rollback behavior simulated in this chapter.