Netty原理示图

1. AWT事件驱动

Netty原理示图_第1张图片

2. Websocket协议

Netty原理示图_第2张图片

3. 基于多个反应器的多线程模式

Netty原理示图_第3张图片

4. Netty Reactor 工作架构图

Netty原理示图_第4张图片

5. Bootstrap引导过程

Channel
Channel是Java NIO的基础。它表示一个开放的连接,进行IO操作。基本的 I/O 操作( bind() 、 connect() 、 read() 和 write() )依赖于底层网络传输所提供的原语。在基于 Java 的网络编程中,其基本的构造是 class Socket 。Netty 的 Channel 接口所提供的 API,大大地降低了直接使用 Socket 类的复杂性。

EventLoop
EventLoop 定义了 Netty 的核心抽象,用于处理连接的生命周期中所发生的事件。
Netty原理示图_第5张图片

6. ServerBootstrap引导过程

Netty原理示图_第6张图片

7. Selector处理逻辑

Netty原理示图_第7张图片

8. Channel 、 EventLoop 和 EventLoopGroup关系

Netty原理示图_第8张图片

9. 具有2个EventLoopGroup的服务器

与 ServerChannel 相关联的 EventLoopGroup 将分配一个负责为传入连接请求创建 Channel 的 EventLoop 。一旦连接被接受,第二个 EventLoopGroup 就会给它的 Channel 分配一个 EventLoop 。

Netty原理示图_第9张图片

10. 用于非阻塞传输(如 NIO 和 AIO)的EventLoop分配方式

Netty原理示图_第10张图片

11. EventLoop 执行逻辑

Netty原理示图_第11张图片

12. ChannelPipeline

Netty原理示图_第12张图片

13. Channel、ChannelPipeline、ChannelHandler 以及 ChannelHandlerContext 之间的关系

Netty原理示图_第13张图片

14. 通过Channel或ChannelPipeline进行事件传播

Netty原理示图_第14张图片

15. 通过ChannelHandlerContext触发的操作的事件流

Netty原理示图_第15张图片

16. Execution-logic of Netty3

1 The I/O thread that handles all the I/O events of a channel
2 Data gets ready from the socket
3 Gets processed in the worker, which is bound to the I/O thread
4 The data / event is passed through all the ChannelHandlers of the Channel . This still happens within the IO thread of the Channel.
5 Any thread from which an outbound operation is triggered. This may be the IO / thread or any other thread.
6 Something is passed to the Channel.write(…)
7 The write operation will generate an event that will get passed to the ChannelHandlers of the channel
8 The event gets passed through all the ChannelHandlers of the channel This happens in the same thread as from which the write operation was triggerd.
09 Once processing of the even via the ChannelHandlers is done, it will hand over the event to the worker thread
10 The data is finally written to the remote peer by the worker threadNetty原理示图_第16张图片

17. channel

Netty原理示图_第17张图片

18. Pipleline中Handler的调用链

Netty原理示图_第18张图片

你可能感兴趣的:(netty,面试,java,Netty,Netty原理)