爱美容
当前位置: 首页 美容百科

rpc远程调用原理(远程服务调用RPC)

时间:2023-06-09 作者: 小编 阅读量: 1 栏目名: 美容百科

除了用于进程间通信外,信号还可以被进程发送给进程自身。信号的典型应用是kill命令,比如“kill-9pid”,意思就是由Shell进程向指定PID的进程发送SIGKILL信号。第六,本地套接字接口消息队列和共享内存这两种方式,只适合单机多进程间的通讯。而套接字接口,是更为普适的进程间通信机制,可用于不同机器之间的进程通信。决定RPC性能主要就两个因素:序列化效率和信息密度。

rpc远程调用原理?RPC应该是一种高层次的,语言层次的,而不是像IPC( 本地套接字接口(IPC Socket) )那种低层次,系统层次的东西,我来为大家科普一下关于rpc远程调用原理?以下内容希望对你有帮助!

rpc远程调用原理

1.远程服务调用(Remote Procedure Call,RPC)

RPC应该是一种高层次的,语言层次的,而不是像IPC( 本地套接字接口(IPC Socket) )那种低层次,系统层次的东西

2.RPC协议框架
  • RMI(Sun/Oracle)、Thrift(Facebook/Apache)、Dubbo(阿里巴巴 /Apache)、gRPC(Google)、Motan2(新浪)、Finagle(Twitter)、brpc(百度)、.NET Remoting(微软)、Arvo(Hadoop)、JSON-RPC 2.0(公开规范,JSON-RPC 工作组)
3.进程间通讯
  1. RPC 出现的最初目的,就是为了让计算机能够跟调用本地方法一样,去调用远程方法。
  2. 进程间值如何进行通讯

第一,管道(Pipe)或具名管道(Named Pipe )

    • 管道其实类似于两个进程间的桥梁,用于进程间传递少量的字符流或字节流。
    • 普通管道可用于有亲缘关系进程间的通信(由一个进程启动的另外一个进程);
    • 而具名管道摆脱了普通管道没有名字的限制,除了具有普通管道所具有的功能以外,它还允许无亲缘关系进程间的通信。
    • 管道典型的应用就是命令行中的“ | ”操作符,比如说,命令“ps -ef | grep java” ,就是管道操作符“ | ”将 ps 命令的标准输出通过管道,连接到 grep 命令的标准输入上。

第二,信号(Signal)

  • 信号是用来通知目标进程有某种事件发生的。除了用于进程间通信外,信号还可以被进程发送给进程自身。信号的典型应用是 kill 命令,比如“kill -9 pid”,意思就是由 Shell 进程向指定 PID 的进程发送 SIGKILL 信号。

第三,信号量(Semaphore)

  • 信号量是用于两个进程之间同步协作的手段,相当于操作系统提供的一个特殊变量。我们可以在信号量上,进行 wait() 和 notify() 操作

第四,消息队列(Message Queue)

    • 也就是说,进程可以向队列中添加消息,而被赋予读权限的进程则可以从队列中消费消息。消息队列就克服了信号承载信息量少、管道只能用于无格式字节流,以及缓冲区大小受限等缺点 ,但实时性相对受限。

第五,共享内存(Shared Memory)

    • 允许多个进程可以访问同一块内存空间,这是效率最高的进程间通讯形式。
    • 进程的内存地址空间是独立隔离的,但操作系统提供了让进程主动创建、映射、分离、控制某一块内存的接口。
    • 由于内存是多进程共享的,所以往往会与其它通信机制,如信号量等结合使用,来达到进程间的同步及互斥。

第六,本地套接字接口(IPC Socket)

    • 消息队列和共享内存这两种方式,只适合单机多进程间的通讯。而套接字接口,是更为普适的进程间通信机制,可用于不同机器之间的进程通信。
    • 基于效率考虑,当仅限于本机进程间通讯的时候,套接字接口是被优化过的,不会经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等操作,只是简单地将应用层数据从一个进程拷贝到另一个进程,这种进程间通讯方式有个专有的名称:Unix Domain Socket,又叫做 IPC Socket
RPC协议主要解决的三个基本问题
  1. 表示数据
  2. 传递数据
  3. 表示方法
RPC由于意见不统一,百家争鸣,大家最后默认不再追求大而完美,而是找到一个独特的点作为主要发展方向

面向对象发展

    • 在分布式系统中,开发者们不再满足于 RPC 带来的面向过程的编码方式,而是希望能够进行跨进程的面向对象编程
    • 这条线有一个别名叫作分布式对象(Distributed Object),它的代表有 RMI、.NET Remoting

向性能发展

    • 代表为 gRPC 和 Thrift。决
    • 定 RPC 性能主要就两个因素:序列化效率和信息密度。
    序列化输出结果的容量越小,速度越快,效率自然越高信息密度则取决于协议中,有效荷载(Payload)所占总传输数据的比例大小

向简化发展

    • 代表为 JSON-RPC
    • 它牺牲了功能和效率,换来的是协议的简单
    • JSON-RPC 的接口与格式的通用性很好,尤其适合用在 Web 浏览器这类一般不会有额外协议、客户端支持的应用场合

RPC 框架有明显朝着更高层次(不仅仅负责调用远程服务,还管理远程服务)与插件化方向发展的趋势,不再选择自己去解决表示数据、传递数据和表示方法这三个问题,而是将全部或者一部分问题设计为扩展点,实现核心能力的可配置,再辅以外围功能,如负载均衡、服务注册、可观察性等方面的支持。这一类框架的代表,有 Facebook 的 Thrift 和阿里的 Dubbo(现在两者都是 Apache 的)

    推荐阅读
  • 暴风雨来临电闪又雷鸣是什么歌(暴风雨完整歌词)

    暴风雨来临电闪又雷鸣是什么歌?暴风雨来临电闪又雷鸣是《暴风雨》里面的歌词,《暴风雨》完整歌词如下:,我来为大家科普一下关于暴风雨来临电闪又雷鸣是什么歌?下面希望有你要的答案,我们一起来看看吧!

  • 0-1个月婴儿发育标准(15个月婴儿发育标准表)

    需要注意的发育迟缓表现:背部弓起,无法把头抬起来,双腿僵硬。需要注意的发育迟缓表现:坐着时重心偏向身体一侧,手臂严重屈曲需要靠手保持坐姿。发育迟缓指的是你孩子没有在与同皊的孩子同样的时间内达到发育方面的里程碑。孩子在两个或两个以上重要的发育领域表现迟缓的现象被医学专家称为整体发育迟缓。

  • 意大利肉丸面的做法(怎样做意大利肉丸面)

    意大利肉丸面的做法肉馅适量,意大利面适量,橄榄油适量,洋葱适量,罗勒碎适量,番茄酱适量,盐适量,白胡椒适量,奶酪丝适量。中火烧热锅中的橄榄油一汤勺,将洋葱丝放入翻炒约3分钟,炒出香味后,放入罗勒碎,继续翻炒3分钟,倒入番茄酱,加少许水,小火慢煮至汤汁浓稠,加入少许盐和白胡椒粉,待用。

  • 昭通普通话最新消息 昭通普通话查询系统

    昭通市普通话测试站2023年继续面向社会开展普通话水平测试,现将相关事项公告如下:报名须知(一)按照《云南省普通话水平测试工作实施细则》第七条规定,在上一次测试成绩未公布前,应试人不得重复报名。重复报名的考生数据不能正常进入报名系统,将导致考生不能参加考试且无法退费。(二)报考人员网上缴费完成后,测试费直接缴入国库非税专户,请考生务必在确定信息无误后再进行缴费,一旦缴费成功后,系统将不能退费。

  • nba与cba的水平差距(从科学角度出发)

    换句话说,肌肉密度和脂肪密度对身体力量有着非常重要的作用。碳水化合物充分燃烧生成二氧化碳、水和能量,没有尾气。脂肪和蛋白质的燃烧可能会产生一些废气,我们有时候称它们为血乳酸。氧气进入身体要考虑肺活量。运动员运动时戴氧气面罩。通过加速过程中氧气和二氧化碳的比值来评估。不是,我们运动员要做好充分的热身活动。因为这种运动,人体的肌肉对氧气的需求是瞬时的,而人的呼吸肌是平滑肌,对氧气的供给有惰性。

  • 小米无线充电宝能达到10w吗(无论是小米笔记本还是任天堂Switch都能使用的充电宝)

    包装正面,紫米10号的品牌、型号、照片。上盖的内侧,贴有黑色海绵保护垫,减少充电宝在运输途中的震动,降低起火风险。▼还有一根50cm长度的Type-CtoType-C数据线▼紫米10号边缘圆滑,没有任何快口。▼ZM的Logo印在了充电宝的正面,在锖色的主体下,并不是很明显。▼紫米10号,在侧面有一个按钮,但这并不是电源开关,而是电源检测键,它有2个功能。为老妈买的小米Mix2,今晚才能送到。

  • 记录生活碎片的句子(生活碎片分享)

    当你的生活一地鸡毛的时候不妨出来散散心最近因为烦心事特别多觉得自己的心态有点崩为了缓解自己emo的情绪我去了七里山塘街但是我这种纯素人不太会拍照好的风景我都记录在了自己的心里所以我只能把自拍放出来了哈哈哈真的觉得古镇都一个样10块钱买的拨浪鼓儿时的记忆随手一拍这就里面比较火的打卡地我象征性的打了个卡这里可以邮寄明信片我可不可以给未来的自己写一封信这是一个即很现代又很有年代感的照相馆商业气息有点浓这

  • 意大利相当于中国哪个省(意大利国土面积相当于中国云南省)

    意大利相当于中国哪个省意大利国土面积为30.1338万平方公里。与之比较接近的是云南省,面积为38.33万平方千米。其领土包括阿尔卑斯山南麓和波河平原地区,亚平宁半岛及西西里岛、撒丁岛和其他的许多岛屿。亚平宁半岛占其全部领土面积的80%。意大利陆界北部以阿尔卑斯山为屏障与法国、瑞士、奥地利和斯洛文尼亚接壤,80%国界线为海界。海岸线长约7200多公里。

  • 静看庭前花开花落坐看云卷云舒的意思(静看庭前花开花落坐看云卷云舒的出处)

    静看庭前花开花落坐看云卷云舒的意思?静看庭前花开花落坐看云卷云舒的意思静看庭前花开花落,坐看云卷云舒悠闲的意思:看着白云卷起来又舒展开,静静的品味着花开了花又落了的时光。改编自明朝陈继儒的《幽窗小记》。教导世人在这个纷绕的世界里,需要学会用一颗平常的心去对待周围的一切。

  • 侠客风云传套路招式只有一个(侠客风云传智斗传说一步到位)

    ⑤以上的侠客都不建议多选,是不得为而为之,仅此。但不一定无狗打50%血量以上的敌人,而荡剑必打50%以下的,战场瞬息万变,要根据实际情况而做出最优决策。若在与洗髓不冲突的话,一个无涯给8号位,适用于后手开场。先天心法不宜过多,最多2个。其次是至阳等偏防御兼增伤的心法,如果用得妥当,效果可能更好,因为4阶的至阳有回血。