什么是RPC接口?http接口与RPC接口有什么区别?

RPC介绍

RPC:(Remote Procedure Call)远程过程调用,就是一个节点请求另一个节点提供的服务。

RPC的核心并不在于使用什么协议。RPC的目的是让你在本地调用远程的方法,而对你来说这个调用是透明的,你并不知道这个调用的方法是部署哪里。通过RPC能解耦服务,这才是使用RPC的真正目的。

RPC的原理主要用到了动态代理模式,至于http协议,只是传输协议而已。简单的实现可以参考spring remoting,复杂的实现可以参考dubbo。(dubbo框架可以搜索本站相关教程

常用的RPC框架

  • thrift(自动代码生成,生成rpc的客户端和服务器端。)
  • dubbo
  • brpc。
图片[1] - 什么是RPC接口?http接口与RPC接口有什么区别? - 三酷猫笔记

RPC接口与HTTP接口的区别

1.rpc是一种概念,http也是rpc实现的一种方式

2.http接口是在接口不多、系统与系统交互较少的情况下,解决信息孤岛初期常使用的一种通信手段;优点就是简单、直接、开发方便。利用现成的http协议 进行传输。

3.但是如果是一个大型的网站,内部子系统较多、接口非常多的情况下,RPC框架的好处就显示出来了,首先就是长链接,不必每次通信都要像http 一样去3次握手什么的,减少了网络开销;其次就是RPC框架一般都有注册中心,有丰富的监控管理;发布、下线接口、动态扩展等,对调用方来说是无感知、统 一化的操作。第三个来说就是安全性。最后就是最近流行的服务化架构、服务化治理,RPC框架是一个强力的支撑。

总结

  • RPC主要用于微服务架构(公司内部的服务调用),性能消耗低,传输效率高(不需要三次握手),服务治理方便。
  • HTTP主要用于对外的异构环境(用户调用),浏览器接口调用,APP接口调用,第三方接口调用等。
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享