Patterns

Software patterns are recurring solutions to common software design problems that can be used to improve the structure, maintainability, and reusability of software.

Event Sourcing

Event sourcing is a software architectural pattern that stores a log of all changes made to a system’s state as a sequence of events, allowing the system to reconstruct its current state and track the history of changes.

Bulkhead

The bulkhead pattern helps to improve the stability and resiliency of a system by isolating components or resources into separate pools or partitions, allowing the system to continue functioning even if one part fails.

Circuit Breaker

The circuit breaker pattern helps to prevent further failures in a system by tripping a circuit breaker and failing fast when failures occur, improving the system’s resiliency and stability.

CQRS

CQRS (Command Query Responsibility Segregation) is a software architectural pattern that separates the responsibility for modifying data (commands) from the responsibility for reading data (queries) into separate objects or components, allowing for more efficient and scalable handling of data in a system.

Saga

The saga pattern is a software design pattern that allows a system to coordinate the completion of long-running, complex transactions by breaking them down into a series of smaller, independent steps or “sagas,” and ensuring that each step is completed or compensated for if an error occurs.

Sharding

Sharding is a database scalability technique that involves dividing a large database into smaller, independent shards or partitions and distributing the data across multiple servers or nodes, allowing the database to scale horizontally and handle a larger amount of data and queries.

Strangler Fig

The strangler fig pattern is a software design pattern that involves gradually replacing parts of a legacy system with a new system by wrapping the legacy system with a new interface and redirecting traffic to the new system over time, allowing the legacy system to be replaced without disrupting the existing system.


Last modified January 4, 2023: More scaffolding... (bb549c8)