Skip to content

《让天下没有难学Netty》系列博文40+,并且对RocketMQ远程通信框架的提取,通过阅读大牛对Netty的封装,感悟Netty编程之美。

License

Notifications You must be signed in to change notification settings

Beginner-hww/netty-learning

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

netty-learning

netty-learning主要由**《让天下没有难学的Netty》免费专栏与Netty二次开发封装的框架**构成。

1、《让天下没有难学的Netty》

《让天下没有难学的Netty》专栏将从通道篇、内存篇、性能篇、实战篇详细剖析Netty的实现原理、设计理念,同时通过抽取Apache顶级项目RocketMQ的网络通信模块,构建一个可直接使用的Netty网络通信框架。

1.1 网络通道篇

  1. Netty4 Channel 概述
  2. Netty4 ChannelHandler 概述
  3. Netty4 事件处理传播机制
  4. 图文并茂剖析Netty编解码以及背后的设计理念
  5. 一文揭晓通信协议设计的奥妙,直接"秒杀"面试官
  6. 面试官:Netty的线程模型可不是Reactor这么简单
  7. Netty进阶:手把手教你如何编写一个NIO客户端
  8. Netty进阶:手把手教你如何编写一个NIO服务端

连载中。。。

2、netty-framework

2.1 客户端类图设计

1

2.2 网络通信协议设计

通信协议主要是约定客户端、服务端协的通讯格式,目前主要是基于 请求头(Header) + 请求体(Body),并且通常Header长度固定,并且会包含一个请求体中长度。

在Netty中默认提供了 请求头 + Body 的封装实现,LengthFieldBasedFrameDecoder,在原理篇会详细介绍它的实现原理,我们来看一下RocketMQ中的通信协议格式:

2

2.3 事件处理模型

3

2.4 事件处理模型

4

业务处理线程池按照请求命令进行线程池隔离,即不同的业务使用单独的业务线程池。

2.5 网络组件交互设计

5

3、优质资源推荐

本项目由『中间件兴趣圈』公众号维护,Netty专栏是12个专栏的其中一个,所有专栏如下图所示:

7

其整个体系详情如下:

6

其中RocketMQ专栏如下图所示:

8

欢迎关注公众号『中间件兴趣圈』,回复 专栏 即可免费获得。

qrcode

About

《让天下没有难学Netty》系列博文40+,并且对RocketMQ远程通信框架的提取,通过阅读大牛对Netty的封装,感悟Netty编程之美。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%