首页 > 编程知识 正文

微服务通信(微服务框架)

时间:2023-05-05 06:55:50 阅读:85849 作者:1204

在微服务中,使用什么样的协议构建服务体系一直是一个热门话题。 争论的焦点集中在RPC or rest风格这两个候选技术上

RPC :远程产品呼叫远程过程呼叫,同样也有RMI。 基于本机TCP通信的自定义数据格式。 高速高效。 早期的web服务,现在很受欢迎的Dubbo,是RPC的典型代表。 http:http实际上是网络传输协议,基于TCP,规定了数据传输的格式。 现在,客户端浏览器和服务器端的通信基本上采用Http协议,也可以用于远程服务呼叫。 好处是消息包变得臃肿,好处是服务的提供和调用方没有技术限制,自由灵活,符合微服务的理念。

0x01:RPC

RPC是远程过程调用(远程过程调用协议,简称为RPC ),调用服务器的服务)方法就像调用本地服务(方法)一样。 通常的实现有XML-RPC、JSON-RPC,通信方式基本相同,不同的只是传输数据的格式。

RPC框架的主要目标是使远程服务呼叫更加简单和透明。 RPC框架屏蔽了基本传输方法(TCP或UDP )、序列化方法(XML/JSON/二进制)和通信的详细信息。 开发人员只需要知道谁在哪里提供了什么样的远程服务接口,而不需要关心基本的通信细节和调用过程。

0 x02:rest风格

REST是指表现性的状态传递(Representational State Transfer,简称REST ),是一种软件体系结构样式。 REST通过由HTTP协议定义的通用动词方法(GET、PUT、DELETE、POST )、URI唯一地识别网络资源,响应端根据请求端的需要表达无状态通信所请求的资源。 满足REST约束和原则的框架被称为REST风格的框架。

0x03 )差异

使用RPC远程服务进行调用的方法与通过传统的http接口直接进行调用的方法有以下不同。

从使用方面来看,Http接口只关注服务提供者=服务端,不关心客户端如何调用、如何调用,通常客户端使用Http方式调用时是内容另一方面,RPC服务需要保持客户端接口和服务端的一致性。 服务端提供了一种客户端通过接口直接启动调用的方法。 业务开发人员只需要关注业务方法的调用,不需要注意网络传输的细节,在开发方面更有效率。 从性能角度看,使用Http时,Http本身提供了丰富的状态功能和扩展功能,但由于Http提供的功能太多,网络传输时需要携带的信息变多,从性能角度看效率很低。 另一方面,在RPC服务网络传输中只传输与业务内容相关的数据,传输的数据更小,性能更高。 从运维的角度来看,使用Http接口时,经常需要使用前端代理进行Http传输代理的操作并进行扩展时,需要修改代理服务器的配置,很繁琐也容易发生错误。 另一方面,在使用RPC方式的微服务的情况下,只需要添加一个服务节点即可,注册中心可以自动感知节点的变化,通知呼叫客户机负载的动态控制,更加智能,省去运维的操作。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。