This document provides an overview of lightweight messaging and remote procedure call (RPC) systems in distributed systems. It discusses messaging systems, typical peer-to-peer and broker-based messaging topologies, characteristics and features of messaging systems, main classes of messaging systems including enterprise service buses (ESBs), JMS implementations, AMQP implementations, and lightweig