Services Communication Design
TL;DR The plan is to use protobuf for the format. Message calls should be made with gRPC when the client wants a response. High level messages should also be published to the bus. Message calls (events) that don't require a response can just be published to the bus.
There are 3 parts to consider:
- Messaging format
- Client calls that require a response - RPC
- Publishing events - BUS
The message format must be statically typed, binary, good adoption and have RPC integration.