编程实践为了带你搞懂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框架的主要内容,如果未能解决你的问题,请参考以下文章

一文带你搞懂RPC到底是个啥

一文带你搞懂RPC到底是个啥

RPC实战与核心原理,京东首席架构师带你解决分布式通信难题

github高赞RPC框架系列之guide-rpc-framework

带你手写基于 Spring 的可插拔式 RPC 框架整体结构

带你手写基于 Spring 的可插拔式 RPC 框架通信协议模块