This is a surprisingly good article and fairly comprehensive. https://www.linkedin.com/pulse/zoo-ipc-frameworks-keep-track-things-torsten-mosis/
IDL + RPC go together and help implement Request/Response, but don’t deal with Publish/Subscribe
Interface Description Language (IDL):
data interchange format
- protobuf / protocol buffers
-
capnproto
- specifically also a capability based rpc system
- thrift
- json
RPC protocol (remote procedure call)
- gRPC
- graphQL
- rest (not function oriented, it’s resource oriented, but can be abused for this)
- json-rpc
Summary
Request/Response frameworks
- Apache Avro
- Apache Thrift
- CORBA
- GraphQL
- gRPC
- JSON-RPC
- REST
- SOAP
- Twirp
Publish/Subscribe Frameworks
- AMQP
- CoAP
- DDS
- eCAL
- MQTT
- XMPP
Hybrid communication
- D-Bus
- ICE
- SOME/IP
- WAMP
- ZeroMQ
- Message serialization libraries
- Cap’n Proto
- FlatBuffers
- MsgPack
- Protobuf
IDLs
- Avro IDL
- Franca IDL
- ICE
- OMG IDL
- Protobuf
- Thrift IDL
- WSDL