Netty中有哪些核心組件?
最近又有粉絲問我這樣一個問題,說Netty中最核心的組件有哪些?它們都起什么作用?今天,給大家詳細聊一聊
1、組件分層
我把Netty的核心組件分為三層,分別是網絡通信層、事件調度層和服務編排層。
2、網絡通信層
在網絡通信層有三個核心組件:Bootstrap、ServerBootStrap、Channel。
Bootstrap:負責客戶端啟動并用來鏈接遠程Netty Server;
ServerBootStrap:負責服務端監聽,用來監聽指定端口;
Channel:相當于完成網絡通信的載體。
3、事件調度層
事件調度器有兩個核心組件:EventLoopGroup與EventLoop。
EventLoopGroup:本質上是一個線程池,主要負責接收I/O請求,并分配線程執行處理請求。
EventLoop:相當于線程池中的線程。
4、服務編排層
在服務編排層有三個核心組件ChannelPipeline、ChannelHandler、ChannelHandlerContext。
ChannelPipeline:負責將多個ChannelHandler鏈接在一起。
ChannelHandler:針對I/O的數據處理器,數據接收后,通過指定的Handler進行處理。
ChannelHandlerContext:用來保存ChannelHandler的上下文信息。