返回

提问 添加收藏

微服务之间是如何独立通讯的?

咔啡 发布于 2020年02月27日 (共有0个回帖)

1.远程过程调用(Remote Procedure Invocation):

       也就是我们常说的服务的注册与发现

       直接通过远程过程调用来访问别的service。

       优点:

       简单,常见,因为没有中间件代理,系统更简单

       缺点:

       只支持请求/响应的模式,不支持别的,比如通知、请求/异步响应、发布/订阅、发布/异步响应

       降低了可用性,因为客户端和服务端在请求过程中必须都是可用的

2.消息:

       使用异步消息来做服务间通信。服务间通过消息管道来交换消息,从而通信。

       优点:

       把客户端和服务端解耦,更松耦合

       提高可用性,因为消息中间件缓存了消息,直到消费者可以消费

       支持很多通信机制比如通知、请求/异步响应、发布/订阅、发布/异步响应

       缺点:

       消息中间件有额外的复杂

文明上网,理性发言
客户端 Android iPhone WP7