Communication styles

Communication styles define mechanisms that can be followed for transmitting data from one point to another, usually across the network. At the broad level, there are four different types of Communication styles:

  • Synchronous: Synchronous communication is best suited to scenarios that must guarantee the order in which calls are received or wait for the call to return. When operations depend on the outcome of the previous operation, synchronous communication is the preferred option.
  • Asynchronous: Asynchronous communication is best suited to scenarios in which responsiveness is important or the availability of the target cannot be guaranteed. Asynchronous communication helps in improving perceived latency and performance of the system, it also decouples the system components and helps to achieve loose-coupling. In case the availability of the target in asynchronous communication cannot be guaranteed, patterns such as store and forward can be used to avoid losing messages.
  • Event-Driven: This is an asynchronous message-driven communication style to propagate information. An event source publishes events, and event receivers can choose to listen to or filter out specific events, and make proactive decisions in near-realtime about how to react to the events. Events are propagated in near-realtime throughout a highly distributed environment. The events-based communication architecture promotes low latency and higher decoupling of distributed systems. It is based on the Publish/Subscribe and Push-based messaging pattern, where events are pushed out to interested listeners. An event is an autonomous message containing just enough information to represent a unit of work and to provide decision support for notification receivers.
  • Reactive: Reactive Systems are Responsive, Resilient, Elastic, and Message-Driven. They rely on asynchronous message-passing to establish a boundary between components that ensures loose-coupling, isolation, location transparency, and provides the means to delegate errors as messages. Employing explicit message-passing enables load management, elasticity, and flow-control by shaping and monitoring the message queues in the system, and applying back-pressure when necessary. Location-transparent messaging as a means of communication makes it possible for the management of failure to work with the same constructs and semantics across a cluster or within a single host. Non-blocking communication allows recipients to only consume resources while active, leading to less system overhead.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.17.29.195