RPC 是什么
RPC全称Remote Procedure Call中文叫远程过程调用。一句话理解像调用本地函数一样直接调用另一台服务器上的方法 / 函数不用关心网络请求、协议、数据传输细节。1. 核心作用解决分布式系统服务之间的调用问题单体项目所有代码在一台机器方法直接本地调用微服务 / 分布式用户服务、订单服务、支付服务部署在不同服务器需要跨机器通信RPC 就是干这个的。2. 核心特点透明调用调用远程方法 和 调用本地方法写法几乎一致屏蔽网络底层。高性能相比 HTTP 接口JSON 文本、头信息多RPC 一般用二进制序列化、长连接、自定义协议速度更快、开销更小。跨语言 / 跨服务支持不同开发语言写的服务互相调用。3. 简单调用流程客户端调用方发起本地方法调用RPC 框架自动封装请求数据、序列化、通过网络发给服务端服务端接收、反序列化、执行目标方法结果原路返回客户端拿到返回值。4. RPC 和 HTTP 区别最常考表格维度RPCHTTP(RESTful)协议自定义 TCP 协议如 Dubbo、gRPC标准 HTTP1.1/2/3数据格式二进制Protobuf、HessianJSON/XML 文本性能高、延迟低、适合内部服务一般适合对外接口使用场景微服务内部服务互调前后端交互、第三方对外接口可读性差强调试方便5. 主流常见 RPC 框架gRPC谷歌开源跨语言Protobuf 序列化云原生常用Dubbo阿里开源Java 微服务经典 RPC 框架Spring Cloud Alibaba Dubbo国内电商、金融系统常用ThriftFacebook 开源跨语言高性能。6. 通俗举例本地调用你在自己家做饭直接拿柜子里的锅RPC 调用你打电话给隔壁邻居让邻居帮你拿一口锅送过来你只需要喊一句调用方法不用管走路、敲门、传递过程。