编程实践为了带你搞懂RPC,我们手写了一个RPC框架
Posted 禅与计算机程序设计艺术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程实践为了带你搞懂RPC,我们手写了一个RPC框架相关的知识,希望对你有一定的参考价值。
如今分布式系统大行其道的年代,RPC 有着举足轻重的地位。风靡的 Duboo、Thrift、gRpc 等框架各领风骚,深入了解RPC是新手也是老鸟的必修课。你知道 RPC 的实现原理吗?想动手实现一个简单的 RPC 框架吗?本文将通过一个 RPC 项目带你寻找答案,大量代码展示,干货满满,如果你能再钻研该项目代码,相信你能收获到包括不限于 RPC 原理、Java 基础(注解、反射、同步器、Future、SPI、动态代理)、Javassist 字节码增强、服务注册与发现、Netty 网络通讯、传输协议、序列化、包压缩、TCP 粘包\\拆包、长连接复用、心跳检测、SpringBoot 自动装载、服务分组、接口版本、客户端连接池、负载均衡、异步调用等等重点知识。
RPC定义
远程服务调用(Remote procedure call)的概念历史已久,1981年就已经被提出,最初的目的就是为了调用远程方法像调用本地方法一样简单,经历了四十多年的更新与迭代,RPC 的大体思路已经趋于稳定,如今百家争鸣的 RPC 协议和框架,诸如 Dubbo (阿里)、Thrift(FaceBook)、gRpc(Google)、brpc (百度)等都在不同侧重点去解决最初的目的,有的想极致完美,有的追求极致性能,有的偏向极致简单。
RPC原理
让我们回到 RPC 最初的目的,要
以上是关于编程实践为了带你搞懂RPC,我们手写了一个RPC框架的主要内容,如果未能解决你的问题,请参考以下文章
github高赞RPC框架系列之guide-rpc-framework