Reactor
reactor=多路复用+线程池
抽象出组件,符合单一职责设计模式
reactor组件负责亲请求接收和分发
1 单reactor单线程模型
特点
- 一个reactor负责接收连接和读写请求,分发他们
- 一个handler线程负责所有读写请求的处理
1.1 reactor组件
java
1 |
|
1.2 acceptor组件
java
1 |
|
1.3 handler组件
java
1 |
|
1.4 服务端api
java
1 |
|
2 单reactor多线程模型
特点
- 一个reactor负责接收连接和读写请求,分发他们
- handler组件为每个读写请求分配单独的线程
2.1 reactor组件
java
1 |
|
2.2 acceptor组件
java
1 |
|
2.3 handler组件
java
1 |
|
2.4 服务端api
java
1 |
|
3 主从reactor模型
特点
- 多个reactor负责请求的接收和派发
- main 负责连接请求的接收和派发给acceptor
- sub 负责读写请求的接收和派发给handler 可以有一个或多个sub reactor
3.1 reactor组件
3.1.1 main
java
1 |
|
3.1.2 sub
java
1 |
|
3.2 acceptor组件
java
1 |
|
3.3 handler组件
java
1 |
|
3.4 服务端api
java
1 |
|
Reactor
https://bannirui.github.io/2023/03/11/Reactor/