高并发服务优化篇:详解RPC的一次调用过程

文章未经允许,禁止转载~

只要涉及到分布式服务,就绕不开RPC调用。RPC是什么,我认为大部分同学都能说出个一二三。

那么RPC一次调用,到底经历了哪些过程?

一直在说RPC耗时优化,那到底时间耗在了哪里?

本篇带大家一起来梳理清晰。再遇到面试官问RPC,直接灭丫 ~

欢迎关注同名公众号「Coder的技术之路」,留言交流~

Part1前言 扯一扯RPC的蛋

RPC ?(Remote Procedure Call) 远程过程调用,目的是让调用远程服务的体验,就像调用本地方法一样简单。

已经有了HTTP,为啥还要实现个RPC? 首先,两者不在一个水平面,不好比较。http是一种传输协议,RPC由TCP传输协议和其他部分组成,算是一种架构;再者,效率和性能有所差异,Http相比tcp传输更耗性能;再再者,定位不同,Rpc一般用于实现内部网络各服务间的高性能调用,Http一般用于跨环境的数据传输和接口调用。

RPC亘古不变的三个主题? 客户端、服务端、注册中心。后续包括服务注册、服务发现、路由寻址、序列化、IO模型等等事项,都是在围绕三者之间的合作和交互来进行的。

常见RPC有哪些?

出镜最多的要数dubbo,因为总被面试官问到;

性能优良的grpc,google出品,可以在任何环境下运行;

美团的OCTO和pigeon,一个章鱼水里游,一个鸽子天上飞;

京东之前的saf,是对dubbo的定制化开发,后面升级到了自研的jsf框架,其作者之一的章老板之前就已经是蚂蚁的P8大佬了;

蚂蚁自研的sofaRPC也有章老板的参与,由于设计初衷和蚂蚁内部的使用规模,功能丰富度和服务稳定性上,那是相当不错,目前也已经开源。

Part2一次RPC调用的心路历程

图片

一次RPC调用的心路历程

如上图所示,一次rpc调用的过程,基本都囊括在内:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值