Among the common ones you should know are Ambassador, Circuit Breaker, CQRS, Idempotent Consumer, Sharding and Sidecar.
The CQRS Pattern
CQRS aims to overcome certain challenges with implementing CRUD operations (the typical database operation: create, read, update and destroy). It stands for Command Query Responsibility Segregration.
Write operations are abstracted into Commands
Read operations are abstracted into Queries
The idea is, as applications scale, read and write operations often have different performance and scaling requirements. Traditional CRUD architectures do not take this asymmetry into account, which can result in challenges - such as:
Data mismatch - read and write representations of data often differ. Some fields needed during updates may be unnecessary during reads.
Lock contention - parallel operations on the same data set can cause lock contention.
Performance problems - the traditional approach can negatively impact performance due to load on the data store and the data access layer and the complexity of queries needed to retrieve information.
Security challenges - can be difficult to manage security when entities are subject to read and write operations.
No comments:
Post a Comment