Open s1mrankaur opened 3 years ago
@theburningmonk I intend to have an orchestration microservice that is used to ensure microserviceA is not directly calling microserviceB when need to have synchronous communication to ensure loose coupling between them. My understanding is that AWS Step functions can be used to write this service that calls other services.
I would like to see an example where step functions are users in an orchestration service for facilitation communication between microservices.
Sure, you'd have two Task
states, one for calling microservice A and then another calling microservice B.
And if both microservices are running on API gateway then you can even use the new API Gateway integration to call them from the Task
state, otherwise, you'll need a Lambda function to make the API calls to those microservices.
If you use the links I shared and learn about the basics of Step Functions then it should be apparent how this can work.
Another thing to consider is that, if this registration workflow has to run A Lot, then it might be worth using an Express Workflow instead for cost reasons.
@theburningmonk Thanks for your response. If an endpoint in "Tenant registration" service needs to call "Tenant management service" and "User management service", do we define a step function in "orchestration service" to call l "Tenant management service" and "User management service" and return to "Tenant registration" service? I did try looking but haven't found a similar example. may be I am not understanding it right.
I am following the AWS recommended tutorial for microservices in a multi-tenant serverless system as in the picture below. At places where microservices need to call other microservices synchronously, I would like to have an orchestration service implemented through AWS Step functions.
https://imgur.com/jZdNuSJ
I am looking at the concept of orchestration service for the first time and could not find any examples for my use case i.e building an orchestration service through AWS step functions that can call other microservices thus keep them loosely coupled. Can someone please point me to the right resource?
We are using Serverless framework.
For example: In the above particular example, In the tenant registration service,