How to achieve Service Orchestration using workflow like Airflow or Event-driven architecture

203 Views Asked by At

I am implementing a business process that performs 6 steps e.g.

  1. The Service Orchestrator consumes an event from an SNS (or Standard Publish-Subscribe service) Topic
  2. Using the message consumed from Step 1, The Orchestrator makes an HTTP call to Service A using an HTTP web client like Spring resttemplate. Service A returns a postcode to The Orchestrator
  3. Then, The Orchestrator makes another HTTP call to Service D with the postcode from Step 2, and Service D returns the user organization
  4. Then, The Orchestrator makes another HTTP call to Service C with an event name and gets a response with template details
  5. Then, The Orchestrator makes another HTTP call to Service B with the User ID and gets a response of User GUID
  6. Then, The Orchestrator makes the final HTTP call to A Task Service with details from Services B, C and D as request parameters.

For steps 1-6 (which are direct HTTP calls using a web client), I would like to use a service orchestration approach using an event-based architecture with pub/sub and queues etc, and using a cloud-first approach. Also, I would be using Amazon-Managed-Workflows-for-Apache-Airflow for workflow orchestration.

My question: Will my event-based design below suffice for a scalable and performant solution to the business problem?

Problem:

Below is the design of a direct HTTP call based design to realise the business flow

AWS Services and Event-based Architect Design

Below is my initial event based orchestration design to realise the business flow

0

There are 0 best solutions below