关注
1. 网络通信
- **RPC**:最大的开销来自网络通信。RPC需要通过网络发送请求到远程服务器,并等待响应返回。这其中涉及数据的序列化(编码)和反序列化(解码),网络传输延迟,以及可能的网络带宽限制。
- **本地调用**:本地调用仅在内存中进行,无需网络传输,因此不存在网络延迟和序列化开销。
2. 数据序列化和反序列化
- **RPC**:RPC调用中,请求和响应数据通常需要序列化成一种网络传输兼容的格式(如JSON、XML或二进制格式),在接收端再反序列化。这个过程消耗CPU资源,并增加了调用时间。
- **本地调用**:本地调用不涉及数据的序列化和反序列化,数据直接以内存中的格式传递。
3. 错误处理和可靠性
- **RPC**:在RPC过程中,需要考虑多种错误情况,包括网络故障、远程服务器宕机、超时以及数据丢失等。错误处理逻辑更复杂,需要实施额外的容错措施如重试机制或异常处理。
- **本地调用**:本地调用的错误通常只涉及内存、资源访问违规或逻辑错误,处理相对简单。
4. 安全性
- **RPC**:RPC涉及网络传输,因此必须考虑数据加密、认证和授权等安全措施,增加了开销。
- **本地调用**:一般不需要通过网络传输数据,因此不涉及网络层面的安全问题。
5. 调用延迟和性能
- **RPC**:包含网络传输延迟,调用延迟相对较高。性能受限于网络条件和远程服务器的处理能力。
- **本地调用**:调用迅速,因为执行过程仅在本地内存和CPU上进行,调用延迟极低。
查看原帖
1 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 聊聊这家公司值得去吗 #
223051次浏览 2109人参与
# 硬件人你反向读研了吗 #
41522次浏览 627人参与
# 为了找工作你投递了多少公司? #
5315次浏览 66人参与
# 小米提前批笔试难吗 #
33093次浏览 352人参与
# 一人一个landing小技巧 #
76867次浏览 1102人参与
# 入职第一天,你准备什么时候下班 #
54289次浏览 343人参与
# 正在实习的你,几点下班 #
155894次浏览 1084人参与
# 担心入职之后被发现很菜怎么办 #
125836次浏览 748人参与
# 一人推荐一个机械人值得去的公司 #
403093次浏览 4136人参与
# 校招入职后的感受 #
274342次浏览 2666人参与
# 投格力的你,拿到offer了吗? #
82401次浏览 573人参与
# 夸夸我的求职搭子 #
192059次浏览 1898人参与
# 体制内上岸心路历程 #
26524次浏览 212人参与
# 产品每日一题 #
43458次浏览 563人参与
# 实习吐槽大会 #
53994次浏览 274人参与
# 大家每天通勤多久? #
41712次浏览 326人参与
# 华为池子有多大 #
87397次浏览 689人参与
# 硬件人秋招的第一个offer #
72270次浏览 1112人参与
# 我和mentor的爱恨情仇 #
47608次浏览 299人参与
# 我的租房踩坑经历 #
45739次浏览 409人参与