一对一 | 一对多 | |
同步模式 | 请求/响应 | 无 |
异步模式 | 异步请求/响应 单向通知 | 发布/订阅 发布/异步响应 |
一对一的交互方式
1、请求/响应:
一个客户端向服务端发起请求,等待响应;客户端期望服务端很快就会发送响应。在一个基于线程的应用中,等待过程可能造成线程阻塞。这样的方式会导致服务的紧耦合。
2、异步请求/响应
客户端发送请求到服务端,服务端异步响应请求。客户端在等待响应时不会阻塞线程,即便服务端的响应不会马上就返回。
3、单向通知
客户端的请求发送到服务端,但是并不期望服务端做出任何响应。
一对多的交互方式
1、发布/订阅方式
客户端发布通知消息,被零个或多个感兴趣的服务订阅。
2、发布/异步响应方式
客户端发布请求消息,然后等待从感兴趣的服务发回的响应。