This is related to distributed processing. This is about how data is transferred between processes. RPC might be implemented on top of this, but the low level should be used to transfer data.
- TCP (simple and well understood)
- zeroMQ (extends to larger scale, allows for sending receiving from multiple end-points)
- UDP (direct, no arrival guarantees)
- Files (eg writing and reading shared NFS disk) This is less efficient, but allows almost unbounded queuing when that's useful