23 Anti-pattern: synchronous IPC messages

There have been a number of different middleware technologies over the years, such as

  • RPC
  • CORBA
  • DCOM
  • RMI
  • SOAP

All of these concern Inter-Process Communication (IPC) in the form of messages or commands that are sent between computers. Messages can encompass the transmission of data, events or commands.

Often programmers associate middleware with the transmission of synchronous messages, i.e. request-reply messages. This is where a message is sent and the calling thread blocks until a response is received.

There are two massive differences between remote and local synchronous calls:

  • Remote calls typically have much higher latency (often 10 million times greater)
  • Remote calls are fallible, for example because the connection may fail

These differences make synchronous IPC messages an anti-pattern.