校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 项目框架 > Spring cloud微服务的组成
题目

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

解答

第一种:远程过程调用(Remote Procedure Invocation)

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

示例:REST、gRPC、Apache、Thrift

优点:

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

缺点:

只支持请求/响应的模式,不支持别的,比如通知、请求/异步响应、发布/订阅、发布/异步响应
降低了可用性,因为客户端和服务端在请求过程中必须都是可用的

第二种:消息

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

示例:Apache Kafka、RabbitMQ

优点:

把客户端和服务端解耦,更松耦合 提高可用性,因为消息中间件缓存了消息,直到消费者可以消费。

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

缺点:

消息中间件有额外的复杂性

C 0条回复 评论

帖子还没人回复快来抢沙发