orchestration architecture services are executed in a sequential manner, for example consider three services named as Service-A, Service-B and Service-C so then in orchestration model first service A will be executed and then B and then C, if any thing wrong within service A then the remaining two services B and C can not be execute, that means there is a strong dependency between services in orchestration based microservice applications.
Orchestration based applications always useful when one service has to start after execution of its before service.
If we want to develop asynchronous services execution in microservice application we need to use Reactive Architecture. In a reactive patter services are independent means if one service having troubles then other services can not be affected. Event Driven Systems are reactive pattern based applications where event stream is useful to have communication between services, that means each and every services are communicating other services via Event Stream only.
Each and every service consumes event details from Event Stream and then process the logic then after result event data can be produced to the Event Stream back again.
For example Consider there are two services in ERP System like Order and Invoice Services,
When new order placed by the customer, placing an order logic is executing by Order Service once that order placed then this event details can be placed on Event Stream once new order event details found in Event Stream then Invoice Service consumes new order details from Event Stream then Invoice stream can execute invoice generation logic, once invoice generation logic executed then Invoice Service will place that event details into Event Stream.
Post a Comment
Post a Comment