Terms that are most commonly used in any microservices architecture
Don't worry after watching so many new terms as below :
- Saga Pattern
- Bounded context
- Eventual consistency
- Event Command Execution
- Event broker
- CDC (change data capture) event managment
- Domain driven design
- Event driven design
- CQRS (Command query responsibility segregation)
- Rollback operation
- Asynchronous Callback operation
- Fault tolerance :Bulk Head & Circuit breaker
- Open API configurations
- Centralized logging ELK
- Stats aggregation
- Aggregates in Domain Driven Design
- FAT Domain VS Anemic Domain
- Ubiquitous Language
- Event sourcing
- Event replay
- Scatter-Gather Pattern
- Saga Pattern:
A pattern which is the heart soul of any microservice architecture ,it is used to manage data consistency across multiple microservices in distributed transaction .It performs a sequence of local transactions which perform updation operation in services & publish a message or trigger the event. There are below three type of transaction which perform crucial roleplay :- Compensable transaction: In case of local transaction fails then compensable transaction comes into flow.It can potentially reversed by processing another transaction with opposite effect.
- Pivot transaction:It can be referred as go/no-go point .If the pivot transaction is commited ,saga constraints run untils it completion
- Retryable transaction :This transaction follows the pivot transaction & guranteed to succeed.
- Bounded Context:
- Bounded context is a logical boundary: When both sub-domains and the core domain are defined, it’s time to implement the code. Bounded context defines tangible boundaries of applicability of some sub-domain. It is an area where a certain sub-domain makes sense, while the others don’t. It can be a talk, a presentation, a code project with physical boundaries defined by the artifact. Bounded context is a pretty vague concept for a lot of developers.
As per the above image ,CQRS pattern evolve usage of event sourcing ,Now what is event sourcing which need to know ,why its required .So in case of event driver architecture when the event-command action roleplay is perfromed ,individual action(command) triggered a event,which need to be persist .So the benefit of persisting any event is beneficial in such a when let say in case of failure of transaction ,you know the event Transaction_failed occurs so you will managing subsequent prior event which was supposed to be happen after checkout event.
- Saga Pattern:
- Compensable transaction: In case of local transaction fails then compensable transaction comes into flow.It can potentially reversed by processing another transaction with opposite effect.
- Pivot transaction:It can be referred as go/no-go point .If the pivot transaction is commited ,saga constraints run untils it completion
- Retryable transaction :This transaction follows the pivot transaction & guranteed to succeed.
- Bounded Context:
- Bounded context is a logical boundary: When both sub-domains and the core domain are defined, it’s time to implement the code. Bounded context defines tangible boundaries of applicability of some sub-domain. It is an area where a certain sub-domain makes sense, while the others don’t. It can be a talk, a presentation, a code project with physical boundaries defined by the artifact. Bounded context is a pretty vague concept for a lot of developers.
Comments
Post a Comment