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:
  1. Complexity : For maintaining multiple components
  2. Cost
  3. Process automation cost - To race to market
  4. Distribution Tax - Network calls, Latency
  5. Reliability issue due to one or more unstable components
  6. Grid lock => Strong time out
  7. Circuit breaker


Comments

Popular Posts