Netty
2020-02-20 10:13:58 0 举报
Netty
作者其他创作
大纲/内容
Selector
client
1. DMA copy
client 1
Boss Group
数据传输
accept
SubReactor2
硬盘
read
NioEventLoopGroup
业务处理
处理请求
SelectionKey
注册
dispatch
head
NioEventLoop
send
Server
Acceptor
step3runAllTasks
ChannelHandler
Client
sendFile
ChannelHandlerContext
处理线程
process
encode
callback
Handler1
Reactor 子线程
EventHandler
获取
socket Buffer
请求
建立连接
显示数据
设备
Handler
future
内核空间
kernel Buffer
ServiceHandler
select
数据处理解码
server
Worker 线程池
next
user Buffer
Worker 线程1
step1select
client N
MainReactor
Thread Pool
D1
SocketChannel
D2
D1_2
注册 channel到 Selector
EventLoop
创建新的线程 1
data
protocol engine
D2_1
ChannelEvent
应用程序
Worker 线程2
client 2
3. DMA copy
decode
WorkEventLoopGroup
step2processSelectedKeys
用户空间
Buffer
Reactor
Thread
SubReactor1
TaskQueue
Handler2
4. DMA copy
2. CPU copy
......
3. CPU copy
传统 IO 拷贝
D2_2
mmap 优化
数据处理编码
Reactor 主线程
File文件
ChannelPipeline
Reactor 单线程
sendFile 优化
Channel
EventDispatch
Pipeline
D1_1
创建新的线程 N
Accept
shard
channel
创建新的线程 M
BossEventLoopGroup
tail
Buffer缓冲区
在 Handler 处理中,可以使用 callback 或者 future 实现异步
App应用程序
创建新的线程 2
Read/Write
Worker Group
读取数据
0 条评论
下一页