In the previous chapter, we've seen how services communicate with each other using synchronous communication, which is still the most common setup in distributed systems. Synchronous communication is simple to understand and easy to implement; hence, it’s a common way to start. Furthermore, some parts of any system will have a synchronous flow, especially the interaction with the user. Once things scale up, however, problems start appearing and might escalate quickly. Latency during communication between services accumulates, and if one link in the chain is slow or fails, the entire system can start to slow down and ultimately fall apart. You will end up needing things like retries and circuit breakers just to keep things from crashing, and although these techniques are valid for achieving their goal, there are ways to avoid these issues and the need for such artifacts altogether.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Asynchronous Systems

  • Delio D’Anna

摘要

In the previous chapter, we've seen how services communicate with each other using synchronous communication, which is still the most common setup in distributed systems. Synchronous communication is simple to understand and easy to implement; hence, it’s a common way to start. Furthermore, some parts of any system will have a synchronous flow, especially the interaction with the user. Once things scale up, however, problems start appearing and might escalate quickly. Latency during communication between services accumulates, and if one link in the chain is slow or fails, the entire system can start to slow down and ultimately fall apart. You will end up needing things like retries and circuit breakers just to keep things from crashing, and although these techniques are valid for achieving their goal, there are ways to avoid these issues and the need for such artifacts altogether.