排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
分类:
rpc
首先说rpc,rpc的定义是远程过程调用,通俗讲就是客户端通过网络远程调用服务端的方法,比如一个用java写的method。rpc是基于tcp/ip协议之上的,一般每个rpc框架都定义了自己的协议(就是数据传输的格式,像前几位表示长度,用什么代表整数等等),一般rpc会非常注重效率,比如它会尽量减小传输的数据量以保证传输效率,还会精心设计数据的装包和解包以提升这个过程的速度。http协议在七层网络中属于应用层,其实本质上也可以认为是一种rpc,毕竟它也实现了远程方法调用,只不过速度不快,短链接,网络开销大而已。不过这个协议的设计非常适合一种场景,就是浏览器,跟其他rpc共性不多,所以大家一般说到rpc是不包含http的,restapi就好理解了,它就是http协议在使用过程中的一种规范,就像坐地铁上下电梯,左边总会空出来让人走一样,没有明文规定,只是大家觉得好就这么做了
客户端与服务端必须使用同样的rpc协议。否则是无法通讯的。协议是在开发之前就定义好的,这样大家开发出来的代码才能够互相调用,浏览器是http的,但‘客户端’指的不一定是浏览器,比如:浏览器->JavaWeb服务->thrift服务,这里面浏览器是javaweb服务的客户端,而javaweb服务就是thrift服务的客户端,javaweb通过thrift rpc框架调用服务。
欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739
评价