Message-Oriented Communication
Message Oriented Comminication
Message-oriented communication in distributed systems is a fundamental concept that facilitates the exchange of information between distributed components or processes. This communication paradigm is crucial for enabling the coordination and data sharing necessary for distributed applications to function effectively.
Message Oriented Communication can be viewed along 2 axes: persistence (whether the system is persistent or transient); and synchronicity (whether it is synchronous or asynchronous).
Persistence : In persistent communication, messages are stored at each intermediate hop along the way until the next node is ready to take delivery of the message. It is also called a store-and-forward based delivery paradigm. Example: Postal system (pony express), email, etc.
Transient: In transient communication, messages are buffered only for small periods of time (as long as sending/receiving applications are executing). If the message cannot be delivered or the next host is down, it is discarded. Example: General TCP/IP communication.
Synchronicity : In synchronous communication. the sender blocks further operations until some sort of an acknowledgement or response is received, hence the name blocking communication.
Asynchronous: In asynchronous or non-blocking communication, the sender continues execution without waiting for any acknowledgement or response. This form needs a local buffer at the sender to deal with it at a later stage.