When it comes to sharing state between processes, there are two main caterogies of techniques: pull-based and push-based.
Pull-based techniques
- shared memory
- filesystems
- network services
- NFS (Network Filesystems)
- RDBMS
Push-based techniques
- signals
- pipes
- queues
- sockets
Sockets
- UDS (Unix Domain Sockets)
- stream
- datagram
- Network sockets
- stream (TCP)
- datagram (UDP)
stream: 1-1 channel between client and server (connection oriented)
datagram: 1 shared channel between all clients and server (connection-less)