Design patterns every cloud engineer must know — Part 2
As continuation of Part 1, this article will discuss additional cloud design patterns that I personally have found useful in deepening my understanding of distributed systems.
1. Command and Query Responsibility Segregation (CQRS) Pattern
The CQRS pattern suggests separating the responsibility for modifying data (commands) from reading data (queries). This pattern is especially useful in systems that need to handle complex transactional operations and high read throughput. This pattern enhances scalability by optimising reads and writes separately, supports eventual consistency in distributed systems and simplifies complex domain models by separating concerns.
You can learn more about this pattern at this link.
2. Event Sourcing Pattern
Event Sourcing is a design pattern that captures all changes to an application’s state as a series of immutable events. Instead of storing the current state of data in a traditional database, this pattern records each state-changing event in an append-only event store. These events serve as the system of record and allow the current state to be reconstructed by replaying the events. This…