可能是绝唱!阿里资深工程师深度解读 Netty 底层核心源码
首先你需要知道 Netty 涉及多线程技术、复杂数据结构和内存管理模型,它运用了各种设计模式及一些 TCP 的底层技术。
本篇就是以实战为导向,深度解读了 Netty 底层的核心源码以及他的架构设计!如果你能耐心看完这份 Netty 源码笔记,那么你将能够灵活运用 Netty 的特性,加深多线程实战应用、精通 Netty 的底层核心源码。同时你还会学习到分布式 RPC 与 10 亿级任务调度和监控引擎这两个高级项目!
由于文章的篇幅文章有限,小编只能为打击展示部分内容和大概说一下会讲到哪些内容,需要领取完整版的朋友麻烦点赞一下文章,然后加小助理 VX:wjj2632646 领取即可
Netty 基础部分
Netty 概述
Netty 服务端构建
Netty 客户端的运用(Java 多线程交互、Netty 客户端与服务端短连接、Netty 客户端与服务端长连接)

Netty 原理部分
多路复用器(NIO 与 BIO 的区别、epoll 模型与 select 模型的区别)
Nety 线程模型
编码和解码
序列化(Protobuf 序列化、Kryo 序列化)
零拷贝
背压(TCP 窗口、Flink 实时计算引擎的背压原理)

分布式 RPC 部分
Netty 整合 Spring
采用 Netty 实现一套 RPC 框架
分布式 RPC 的构建(服务注册与发现、动态代理)

Netty 核心组件源码剖析部分
NioEventLoopGroup 源码剖析
NioEventLoop 源码剖析(NioEventLoop 开启 Selector、NioEventLoop 的 run0 方法解读、NioEventL oop 重新构建 Selector 和 Channel 的注册)

Channel 源码剖析(AbstractChannel 源码剖析、AbstratNioChannel 源码剖析、AbstractNioByteChanel 源码剖析、AsracNioMessgeChannel 源码剖析、NioSocketChanel 源码剖析、NioSererSocketChannel 源码剖析)

Netty 缓冲区 ByteBuf 源码剖析(AbstractByteBuf 源码剖析、AbstractReferenceCountedByteBuf 源码剖析、ReferenceCountUpdater 源码剖析、CompositeByteBuf 源码剖析、PooledByteBuf 源码剖析)

Netty 内存泄漏检测机制源码剖析(内存泄漏检测原理、内存泄漏器 ResourceLeakDetector 源码剖析)

Netty 读/写请求源码剖析部分
ServerBootstrap 启动过程剖析
Netty 对 I/O 就绪事件的处理(NioEventLoop 就绪处理之 OP_ ACCEPT、NioEventLoop 就绪处理之 OP_ READ)

Netty 内存管理部分
Netty 内存管理策略介绍
PoolChunk 内存分配
PoolSubpage 内存分配与释放
PoolArena 内存管理
RecvByteBufllocator 内存分配计算

Netty 时间轮的高级应用部分
Netty 时间轮的解读
Netty 时间轮改造方案制订
时间轮高级应用之架构设计
时间轮高级应用之实战 10 亿级任务

Netty 问题分析与性能调优部分
Netty 服务在 Linux 服务器上的部署
Netty 服务模拟秒杀压测
常见的生产问题分析
性能调优

版权声明: 本文为 InfoQ 作者【Java架构追梦】的原创文章。
原文链接:【http://xie.infoq.cn/article/f6dcd60b1ac50a2fa907201ee】。未经作者许可,禁止转载。
评论