目录
分布式之Netty介绍与实战(四)–Netty编解码编程实战
Reactor模式及其与Netty的对应关系
Reactor模式
- Douglas C. Schmidt 1995年提出
An Object Behavioral Pattern for Demultiplexing and Dispatching Handles for Synchronous Events - Scalable IO in Java - Doug Lea
http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf
基于Java IO对Reactor模式进行阐述 - NIO网络框架的典型模式
- Mina、Netty、Cindy都是此模式的实现
Reactor模式 - Douglas
Reactor模式 - Doug Lea
- 三种形式
- 单线程Reactor
- 多线程Reactor
- Multiple Reactor
Reactor模式 - Basic
Reactor模式 – MultiThread Reactor
Reactor模式 – Multiple Reactors
Reactor模式 – 其他形式-主从Reactor
Netty与Reactor模式
- Netty实现了哪些形式的Reactor模式了?
- 单线程Reactor?
- 多线程Reactor?
- Multiple Reactor?
- 主从Reactor?
Netty EventLoop源码解析
EventExecutor视图
- EventExecutorGroup是不干什么事情的,当收到一个请求后,他就调用next()获得一个它里面的EventExcutor,再调用executor的方法;
- EventExecutorGroup里面有一个EventExcutor数组,保存多个EventExcutor;
- next():EventExecutorChooser.choose()定义选择EventExcutor的策略
EventLoop整体结构
- NioEventLoop创建分析
- NioEventLoop启动流程分析
- NioEventLoop执行流程分析