微服务设计笔记(6)—— 同步与异步通信方式

180 阅读1分钟

(1)同步通信

同步通信指的是:调用远程服务后,必须等待服务响应。其本质是请求/响应模式。客户端发起请求,然后等待响应。

(2)异步通信

异步通信指的是:调用远程服务后,会直接返回。一般应用于运行时间较长的远程服务,也应用于需要快速响应的业务场景。

异步通信,也可以使用请求/响应模式。客户端注册一个回调地址,然后发起请求,当服务端响应后,会调用客户端所注册的回调地址。

异步通信,一般是采用订阅者模式。首先,服务端会订阅一些事件。然后客户端发布一个被订阅的事件,这些订阅者就会收到这个事件消息。这个模式就可以在不影响客户端的基础上,新增新的服务端。

(3)抉择

判定是否可以解决问题,来决定如何选择通信方式。可能会运行很长时间的、跨服务边界的部分,就应该采用异步通信方式。