Git Product home page Git Product logo

netty-learning's Introduction

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

netty-learning's People

Contributors

dingwpmz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.