温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

大数据架构中RPC传输是什么

发布时间:2022-01-18 10:56:07 来源:亿速云 阅读:383 作者:柒染 栏目:大数据

大数据架构中RPC传输是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

大数据架构中RPC传输是什么

RPC(Remote ProcedureCall),即远程过程调用,通过网络实现两个服务器之前的调用,RPC是跨越传输层和应用层。

RPC的调用过程:

客户端端发起一个RPC请求,本地调用client stub负责将调用的接口、方法和参数按照事先约定好的协议进行序列化,然后由RPC框架的RPCRuntime实例通过socket传输到远程服务器上,远程服务器端RPCRuntime收到实例后在通过server stub进行反序列化,发起最终的method调用。

比较优秀的RPC开源框架:

国内Dubbo、Motan,国外Thrift、gRPC

从以下方面理解RPC的实现原理:

1、动态代理:代理就是要做一件事,不用亲自去做,找一个代理代做,动态是指可以动态指定执行的方法及任务数。

2、反射:是指计算机程序在运行时可以访问、检测和修改它本身状态或行为的一种能力。传入远程服务名和方法名,通过反射自动定位到需要被调用的方法,再传入入参,从而进行RPC调用。

3、序列化:将内存中的数据体转换为字节流,反序列化是将字节流转换为数据体。

4、网络编程:RPC一般以TCP协议为基础。

服务RPC请求异常的定位方法:

第1步、分析网络情况,查看是否延迟严重,是否存在TCP重传。

第2步、分析服务端和调用端的运行情况,查看是否压力较大,比如CPU使用率、CPU负载、内存占用大小等

第3步、查看传输对象是否很大很复杂,这对序列化影响很大。

第4步、如果服务端有队列,可以试着减少队列,或者改为固定线程池,减少线程池数量。

第5步、控制CPU不用使用太高,尽量不要超过80%,有个计算公式(核数*7)然后去百分比,eg:4c的容器,那么2.8%的使用率属于正常水平,当达到80%可能有线程阻塞。

关于大数据架构中RPC传输是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI