distributed-systems-patterns

Guide engineers in selecting distributed patterns for multi-service workflows.

Updated Apr 8, 2026
One-click install
npx skills add https://github.com/s3nex-com/sdlc-skills-library --skill distributed-systems-patterns-s3nex-com
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: distributed-systems-patterns
Source: https://github.com/s3nex-com/sdlc-skills-library/tree/main/skills/phase2/distributed-systems-patterns
Command: npx skills add https://github.com/s3nex-com/sdlc-skills-library --skill distributed-systems-patterns-s3nex-com

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It helps engineers choose and implement appropriate distributed patterns (orchestration vs choreography, sagas, event sourcing considerations) to manage multi-service workflows with correct compensations and reliability.

Core Features & Use Cases

  • Guidance on when to use or avoid patterns like Saga, outbox, and CQRS.
  • Decision criteria and step-by-step reasoning for selecting orchestration vs choreography, and pattern compensations.
  • Worked examples and reference schemas to implement robust cross-service workflows.

Quick Start

Analyze a multi-service workflow you are building and decide whether to apply an orchestrated saga, a choreography approach, or an outbox-based pattern; then implement the appropriate compensation and idempotency rules.

Frequently Asked Questions about distributed-systems-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
When do I need a saga pattern for multi-service workflows?▼

You need a saga pattern when a transaction spans multiple services and requires coordinated compensations to maintain data consistency. It applies to event-driven architectures where distributed transactions are necessary and explicit consistency trade-offs must be defined.

How do I choose between orchestration and choreography for distributed patterns?▼

Choose orchestration vs choreography by evaluating workflow complexity and coupling. Orchestration centralizes coordination for explicit control, while choreography uses event-driven reactions for decentralized autonomy, with decision criteria and step-by-step reasoning provided for selection.

What is the outbox pattern and when should I avoid it?▼

The outbox pattern ensures reliable event publishing within the same database transaction as state changes. You should avoid it if your system cannot handle the eventual consistency trade-offs or lacks the infrastructure to reliably poll and publish transactional outbox entries.

How do I implement idempotency strategies in event-driven systems?▼

Implement idempotency strategies by defining unique identifiers for events and tracking processed messages to prevent duplicate execution. This ensures reliable cross-service workflows by making operations safely retryable without side effects.

Does CQRS work with event sourcing for distributed transactions?▼

CQRS works with event sourcing considerations by separating read and write models to optimize multi-service workflows. It satisfies requirements for explicit consistency trade-offs, though it should be evaluated against your specific query latency and scaling needs.