假设有一个系统调用链路为 A 调用 B 耗时 20ms,B 调用 C 耗时 20ms,而 C 调用 D 需要 2s,这样下来整个调用需要耗时 2040ms。但实际上 A 调用 B,B 调用 C 只需要 40ms,而 D 系统的引入直接导致系统性能下降约 50 倍。此时我们可以考虑引入消息队列,将 D 系统的调用抽离出来,做一个异步调用:系统 A 到系统 B 再到系统 C 后就直接结束,系统 C 将消息发送到消息队列中,系统 D 从消息队列里取消息进行消费,这样子我们系统的性能就提高了接近 50 倍。