《RocketMQ技术内幕》作者、RocketMQ社区优秀布道师,现担任中通快递研发中心中间件负责人。
简介
java数据结构、JAVA并发、NIO是JAVA高并发编程的“三驾马车”,在NIO网络编程领域Netty又是当之无愧的王者。伴随着互联网分布式架构的兴起,面向网络编程的重要性越来越高,是否掌握Netty已然成为判断一名JAVA程序员是否是高阶人才的必要条件,也是突破JAVA主流中间件道路上的一只“拦路虎”。
目标
1.掌握Netty编程通用技巧
2.掌握Netty核心原理及使用场景
3.通过阅读源码,更深层次的理解Netty核心原理以及NIO。
分享对象
JAVA中高级开发工程师、技术经理、架构师、广大JAVA中间件爱好者
课程时长
2天(12H)
分享提纲
主题 | 授课内容 |
实战篇(从RocketMQ网络设计学Netty编程技巧) 2小时 | RocketMQ网络编程需 求RocketMQ网络编程设计方案 Netty编程最佳实践方法论 如何编写Netty客户端 如何编写Netty服务端Netty编码、解码、协议设计概述 Netty线程池隔离设计 RocketMQNetty代码剖析 |
原理篇 3小时 | ByteBuf内存结构与常用API 常用ByteBuf介绍 Netty内存组织方案 NettyChannel概述 NettyChannelHandler概述 Nety事件传播机制 Netty线程模型 Netty编码解码器 Netty读事件处理流程(要点) Netty写事件处理流程(要点) Netty流量整形、拥塞控制 Netty高低水位线 NettyByteBuf回收机制(内存泄露) Netty发送队列设计 互动(常用问题探讨,例如ByteBuf泄露、消息发送积压导致内存泄露等) |
实战(模拟DubboRPC实战) 1h | 方案设计 代码实现 |
源码篇 6h | 内存分配 内存释放 对象池、内存池 Netty线程模型 Netty服务端启动流程 Netty客户端启动流程 Netty事件传播机制 Netty读事件处理流程 Netty写事件处理流程 Netty流量整理、拥塞控制 NettyThreadLocal性能优化方案 |