In the following scenarios, introducing a reactive coordinator is the perfect solution:
- Based on the data being processed, the flow of the application can change. The flow could have several hundred microservices and application demands temporary shut-ins and as soon as the application gets back online events can be replayed.
- There are several asynchronous processing blocks that need to be processed synchronously in the system.
- It allows easy service discovery. Services can easily be scaled at any time. Moving the entire service can be easily done.
Based on your overall needs, you can decide on any one of the strategies in your microservice architecture.