Identifying Problems Faced by Distributed Applications

Look at the problems faced by distributed applications and what can be done to address these problems.

In every distributed application, there are going to be places where interactions take place between components that reside in different bounded contexts or domains. These interactions come in many forms and can be synchronous or asynchronous. A distributed application could not function without a method of communication existing between the components.

We looked at some different ways, such as using sagas, to improve the overall reliability of complex operations that involve multiple components. The reliability we added is at the operation level and spans multiple components, but it does not address reliability issues that happen at the component level.

Let’s take a look at what affects reliability in synchronous and asynchronous distributed applications and what can be done to address the problem.

Identifying problems in synchronous applications

In the first version of the MallBots application, we only had synchronous communication between the components, and that looked something like this:

Get hands-on with 1400+ tech skills courses.