是时候手写一个RPC框架了

Posted 业余码农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是时候手写一个RPC框架了相关的知识,希望对你有一定的参考价值。

大家好。

搞后端的应该都知道RPC是干啥用的吧,在现在分布式或者微服务系统中,基本都需要通过RPC在不同服务之间进行函数/方法调用。

可能很多人会把RPC和HTTP之间的区别给混淆,在这里我首先需要指正一下,这两个并不是并行概念。

RPC 更多的是一种设计,就是为了解决不同服务之间的调用问题,完整的 RPC 实现一般会包含有传输协议序列化协议 这两个。

而 HTTP 是一种传输协议,RPC 框架完全可以使用 HTTP 作为传输协议,也可以直接使用 TCP,使用不同的协议一般也是为了适应不同的场景。

说到RPC,就不得不谈一谈Netty框架。而Netty框架其实并不局限于RPC,更多的是作为一种网络协议的实现框架。

Netty 作为当前流行的 NIO 框架,在游戏、大数据通讯,云计算、物联网等领域都有广泛的应用,大家熟知的 Dubbo,底层用的就是 Netty。尤其在高并发、高性能 RPC 方面,Netty 更是必不可少。因此在很多技术面试中,Netty 多被问及。

然而,想要将 Netty 真正掌握并精通难度却不小。一些学习者可能会遇到这些问题:

多线程编程、Socket 通信、TCP/IP 协议栈等知识掌握不扎实,学习过程比较吃力;学习了不少理论知识,但真正跟具体项目结合在一起解决实际问题时,又感觉比较棘手;调用过程中遇到问题,不会定位,基本靠网上搜索,效率很低。

因此,如果没有一个好的学习方法,抓不住重点,只靠阅读源码,既耗时又很难吃透,很容易半途而废。

最近我又搞到了了一套免费的Netty 相关的视频干货,讲解很系统。今天分享给大家,希望对大家有帮助。

学完这份视频你将获得哪些收获?

理解当下火热的 Netty 框架、核心概念、开发流程;

手写 RPC 框架(聊天室、Tomcat等);

对照知识点进行查漏补缺,帮助扫除知识盲区、重构知识体系。

视频围绕《基于 Netty 手写 RPC 框架》的主题,从小试牛刀到高级应用,其中涉及到很多 Netty 编程中的设计难点,比如:

TCP 的拆包与粘包 

读写空闲检测、心跳机制、WebSocket 长连接

Netty源码剖析

RPC底层通信原理

手写聊天室、 Tomcat

具体内容有
- Netty 编程之手写RPC框架 -
重点内容


1.Netty开发中的核心概念

2.Netty的开发流程

3.RPC底层通信原理

4.使用动态代理实现远程调用

5.手工实现一个RPC框架

本次视频的开课吧的资深技术负责人 Reythor ,曾担任某国企软件中心技术中心 Leader,国家高级工程师职称。Reythor 积累了多年 RPC 框架的设计经验,并主导了多个项目的推广和落地,在 Netty 编程方面有很多实战干货可以分享,相信能够帮大家解决在工作中遇到的一些技术难点和困惑。

领取方式: 添加微信领取。 这份视频价值199元,对本公众号 0 元 开放,需要的朋友可以扫码预约报名。

扫描二维码  领取视频

人数较多 添加都会 一一通过

注:小助理精力有限,报名还可以获得配套的精品讲义。领到干货后,千万莫做收藏党!

以上是关于是时候手写一个RPC框架了的主要内容,如果未能解决你的问题,请参考以下文章

编程实践为了带你搞懂RPC,我们手写了一个RPC框架

手写一个自己的 RPC 框架?

手写RPC框架第二章《netty通信》

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

花了2个月手写一个RPC框架!

手写一个RPC框架