IPC (Inter-Process)
Inter-Process Communication — Mechanismen zum Datenaustausch zwischen Prozessen. UNIX-Mechanismen: Pipes, Sockets, Shared Memory, Signale, Message Queues, Semaphoren. Verwirrend ähnlich zu IPC (Instructions Per Cycle).
Performance-Rangfolge: Shared Memory (mmap, am schnellsten, benötigt eigene Synchronisation), Unix-Socket (lokales IPC, ~5 µs), Pipe (Einzelstrom, ~10 µs), TCP-Loopback (~30 µs). Der Overhead beim Kernwechsel hängt vom Cache ab: Eine Pipe zwischen Prozessen auf demselben Kern ist ein L1-Treffer, zwischen Sockets ein NUMA-Roundtrip. Moderne Alternativen: io_uring für asynchrones Kernel-IPC, eBPF-Maps für prozessübergreifenden Zustand mit geringem Overhead. Klassische Falle: ein auf hohen Durchsatz getrimmtes RPC-Design, das den IPC-Overhead ignoriert → unnötige Serialisierung zwischen Microservices.