Asynchronous communication for applications through messaging has been around for a long time. One of the reasons for the adoption of messaging is to mitigate issues of connectivity, which can come from:

Applications not being built or deployed to provide a high level of resilience to ensure always-available characteristics. Therefore, the messaging infrastructure provided by a broker can hold a message until it can be delivered.
Mitigate infrastructure issues such as potential networking issues such as connection loss.
Mitigate bandwidth/capacity constraints on the receiving service or its infrastructure.
Data egress costs from a cloud vendor.
Prevent cascading application faults because one service is unavailable, which impacts a consuming service if it is directly connected.

Messaging Overcomes Transient Network Issues

The mitigation of connectivity is important when systems become increasingly distributed, as in all but the rarest of cases, the flow of communications will traverse pieces of infrastructure (servers, routers, proxies, firewalls, and even physical switches) over which we have no control. You only have to look in the press to see incidents where services have been impacted by accidental or deliberate disruption, from breaks in submarine cabling (the most notable recent issue being Tonga’s volcanic eruption)  and major network backbone centers.  While a great deal of effort goes into public infrastructure protection, like our macro level, it will all come down to cost-benefit. We can also see that these issues can occur more frequently than we’d like through the data shared by ThousandEyes.com.

Leave a Reply

Your email address will not be published. Required fields are marked *