The goal of this demo is to illustrate a real world example of using messaging between microservices in the cloud. This demo illustrates the Aggregator Microservice Design Pattern using an event driven architecture with messaging to communicate between Microservices, specifically Solace Messaging in Pivotal Cloud Foundry.
As illustrated in the architecture diagram, this demo is composed of the following parts:
A RESTful Web Application receives incoming requests. In this demo, the job requests are number of work units, rate, and delay characteristics.
The work requests are sent to a non-exclusive queue in the Solace Messaging Service.
The worker applications process messages from the Solace queue. The application can be horizontally scaled using Cloud Foundry to increase the overall processing throughput of the system.
When a Worker is done with a work request, it sends the response. For the purposes of this demo, the Aggregator Application tracks and displays status of each job in the summary table below.
The Aggregator Application and Worker Applications depend on a Solace Messaging Service for Cloud Foundry.
All of the apps are pushed to Cloud Foundry through the CLI or Pivotal Apps Manager.