Definitions
Bounded Context
A bounded context is simply the boundary within a domain where a particular domain model applies. DDD (Domain Driven Design) deals with large models by dividing them into different Bounded Contexts and being explicit about their interrelationships. (Like SalesContext and SupportContext)
Saga
Implementing each business transaction that spans multiple services is a saga. A saga is a sequence of local transactions. Each local transaction updates the database and publishes a message or event to trigger the next local transaction in the saga. If a local transaction fails because it violates a business rule then the saga executes a series of compensating transactions that undo the changes that were made by the preceding local transactions.
There are two ways of coordinating sagas:
- Choreography - each local transaction publishes domain events that trigger local transactions in other services
- Orchestration - an orchestrator (object) tells the participants what local transactions to execute
SOA
Service oriented Architecture: It is kind of microservices but major scope is Enterprise Business not the application. They also communicate through ESB (Enterprise Service Bus) like SOAP.
SOAP
Simple Object Access Protocol: XML Based communication. They are heavy and highly secure. Strong contract so the validations.
REST
Representation State Transfer. It is not a protocol but some guidelines to communicate. It is an architecture. It can handle multiple type of data formats like JSON, YAML, XML.
Microservices
Drawbacks:
- Complexity : For maintaining multiple components
- Cost
- Process automation cost - To race to market
- Distribution Tax - Network calls, Latency
- Reliability issue due to one or more unstable components
- Grid lock => Strong time out
- Circuit breaker
Comments
Post a Comment