JSON
Distributed System Architectures - JSON
Distributed system architectures are architectural patterns for designing and building systems where multiple independent computers or services work together. Various patterns exist, including microservices, event-driven architecture, and service-oriented architecture (SOA), each with different characteristics and applicable scenarios. These architectures are widely used to achieve scalability, fault tolerance, and flexibility.
distributed systems
microservices
event-driven
SOA
system design
architecture patterns
[
{
"code": "01",
"slug": "microservices-architecture",
"name": "Microservices Architecture",
"description": "An architecture that builds applications as a collection of small, independent services.",
"category": "Service Decomposition Pattern"
},
{
"code": "02",
"slug": "event-driven-architecture",
"name": "Event-Driven Architecture",
"description": "An architecture that designs systems around the production, detection, consumption, and reaction to events.",
"category": "Communication Pattern"
},
{
"code": "03",
"slug": "service-oriented-architecture",
"name": "Service-Oriented Architecture",
"description": "An architecture that builds applications as a collection of loosely coupled, reusable services.",
"category": "Enterprise Pattern"
},
{
"code": "04",
"slug": "api-gateway-pattern",
"name": "API Gateway Pattern",
"description": "A pattern that provides a single entry point between clients and backend services.",
"category": "Communication Pattern"
},
{
"code": "05",
"slug": "cqrs-pattern",
"name": "CQRS Pattern",
"description": "A pattern that separates read operations from write operations into different models.",
"category": "Data Pattern"
},
{
"code": "06",
"slug": "saga-pattern",
"name": "Saga Pattern",
"description": "A pattern that manages distributed transactions by breaking them into multiple local transactions.",
"category": "Transaction Pattern"
},
{
"code": "07",
"slug": "outbox-pattern",
"name": "Outbox Pattern",
"description": "A pattern that guarantees consistency between database transactions and event publishing.",
"category": "Data Pattern"
},
{
"code": "08",
"slug": "sidecar-pattern",
"name": "Sidecar Pattern",
"description": "A pattern that deploys a helper component alongside the main application.",
"category": "Deployment Pattern"
},
{
"code": "09",
"slug": "strangler-fig-pattern",
"name": "Strangler Fig Pattern",
"description": "A migration pattern for gradually replacing legacy systems with new systems.",
"category": "Migration Pattern"
},
{
"code": "10",
"slug": "circuit-breaker-pattern",
"name": "Circuit Breaker Pattern",
"description": "A pattern that performs failure detection and automatic recovery to prevent cascading failures.",
"category": "Fault Tolerance Pattern"
},
{
"code": "11",
"slug": "sharding-pattern",
"name": "Sharding Pattern",
"description": "A pattern that distributes data horizontally across multiple databases.",
"category": "Data Pattern"
},
{
"code": "12",
"slug": "event-sourcing-pattern",
"name": "Event Sourcing Pattern",
"description": "A pattern that stores application state as a sequence of events.",
"category": "Data Pattern"
}
]