Channels are provided on channel microservices, which are native microservices (so it has a standard
configuration.yml file) with additional configuration in
channels.yml file, where channels definitions are provided:
Lets assume that web application
WebApp1 makes an reactive request to the application microservice
SAMPLE channel to get the response, located on
channels_1 channel microservive. It uses the following reactive communication schema, as show on the following diagram:
The whole process has the following stages:
app_Amicroservice opens stream channel to
channels_1microservice and start acting as a publisher ready to send messages (using JLRMC entry point located on Main Server).
- The web application
WebApp1invokes a service on the
app_Amicroservice using JLRMC entry point on Main Server.
- Just after invoking the service the
WebApp1subscribes to stream channel
channels_1microservice. (it uses the same
app_Awhich got during service invocation).
- The microservice
app_Asends part of the response (for example: set of rows from database) as messages to channel
WebApp1as a subscriber is getting messages from channel
SAMPLEgradually and start processing them (for example: display on the screen).