【出现频率】★★★★☆ 【学习难度】★★☆☆☆
答案:有两种方式。
1)直接通过远程过程调用(Remote Procedure Invocation)来访问其他服务。
2)使用异步消息来做服务通信,服务间通过消息管道来交换消息。
两者各有优点,远程过程调用简单直接,不需要中间件。消息需要中间件支持,增加了复杂性。远程过程调用只支持请求/响应模式,并且客户端与服务端在请求时必须都可用,增加了耦合性。而消息通过中间件缓存,在服务端和客户端之间实现了解耦。支持的通信机制更多。如通知、请求/异步响应、发布/订阅、发布/异步响应等。