| redact207, could you please tell me if I understood it correct? Say, I have two services deployed individually working in their own domains. UserService and EmailService When the task is a simple user signup & welcome email 1. Workflow requests UserService.signupUser 2. UserService.signupUser creates User, then dispatches UserCreated event. From my understanding, this is where it's different between having Workflow and not having it. 3. Workflow receives UserCreated event, then requests EmailService.sendEmail IF I did not have Workflow in my design, then EmailService will be listening to UserCreated event from UserService directly. It sounds almost same as having an orchestration service called UserSignup Service, and do the same thing what Workflow does. Can you say my understanding correct? Thanks! |
Without the workflow/orchestration, we're effectively coupling the EmailService to the UserService, and it's that type of coupling that reduces reusability and isolation.