IPC techniques

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)