Application microservices are completely independent and are not aware of the existence of other microservices.
Microservices use the event bus for communication. The event bus is implemented on the MassTransit and uses RabbitMQ as a message broker.
Each microservice can be subscribed to certain events and commands, and can also send them.
A command can be received by only one microservice. At the same time, an unlimited number of microservices can be subscribed to events.
The commands and events used by each microservice are presented below.
Publish Events | Send Commands | Subcribed |
---|---|---|
RecordRegistered | ProcessData | DataProcessed |
RecordDeleted | UserDeleted | |
SensorDeleted |
Publish Events | Send Commands | Subcribed |
---|---|---|
DataProcessed | RegisterReport | ProcessData |
Publish Events | Send Commands | Subcribed |
---|---|---|
RecordDeleted | ||
RegisterReport |
Publish Events | Send Commands | Subcribed |
---|---|---|
UserDeleted | AccountDeleted |
Publish Events | Send Commands | Subcribed |
---|---|---|
AccountDeleted | UserDeleted |