当前位置: 首页 > news >正文

Netty主要组件

:
在Netty中有很多重要的组件, 每个组件职业不同, 担负不同的功能。

组件一 NioEventLoop

在它的底层封装了Selector, 实现多路复用, 由唯一绑定的一个线程去进行三大步骤循环操作: 监听事件,处理事件,执行任务。

组件二 NioServerSocketChannel NioSocketChannel
一个是服务端通道, 一个是客户端通道,接收客户端连接和处理数据读写都是通过通道进行的。

组件三 ChannelPipeline
每个Channel都与唯一的一个Pipeline关联. 当Channel读取到数据以后,后续的具体操作都交给管道Pipeline去进行。

组件四 Handler
在ChannelPipeline中可以放入用户自定义的Handler,用于具体的业务处理, 这里面也包括解码器编码器这两种重要的Handler。

当然以上四个是最重要的组件, 比较重要的组件或类还包括以下一些:

启动类ServerBootstrap
负责底层数据的读写类Unsafe
具体的线程类FastThreadLocalThread
线程池NioEventLoopGroup
存放数据的容器ByteBuf

学习这些组件先不要深入细节, 先有个大概的概念, 每个组件具体做啥, 然后把它们串联起来, 加深对Netty整体架构的理解。
然后再回过来深入到每个组件的细节, 反作用加深理解整个架构.

 

http://www.lryc.cn/news/56496.html

相关文章:

  • Linux系统【centos7】常用基础命令教程
  • 【Redis学习】Redis入门概述
  • nodejs微服务:Consul集群
  • spring事务处理
  • 2023 年博客之星的入围规则
  • 【新2023Q2押题JAVA】华为OD机试 - 查找树中的元素 or 查找二叉树节点
  • MySQL 日志:undo log、redo log、binlog 有什么用?
  • ETL 与 ELT的关键区别
  • Thinkphp 6.0模版的杂项和表单令牌
  • linux常问
  • ToBeWritten之物联网MQTT、Z-Wave等协议
  • C# 行为型模式之责任链模式
  • layui实现请求前添加一个加载 loading 的效果,并在请求成功后关闭
  • iostat / sar 命令详解
  • 2023-04-06:拥抱Golang,优化FFmpeg音频编码器,探究encode_audio.c的内部结构。
  • 归排、计排深度理解
  • 设计原则(单一职责原则 开放封闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则)
  • 好像模拟了一个引力场
  • MySQL优化——Explain分析执行计划详解
  • xcode 14.3 file not found libarclite_iphoneos.a
  • 基于AI+数据驱动的慢查询索引推荐
  • 【ESP32】嵌入式FreeRtos--Task
  • 【操作系统】面试官都爱问的进程调度算法
  • Spring-Web spi机制解析
  • 数据结构|将链表中小于0的数全部放在大于0的数的前面
  • 分享106个ASP影音娱乐源码,总有一款适合您
  • win10 PyCharm Anaconda过程记录
  • Chrome扩展程序导出备份与本地导入浏览器
  • mysql常用运算符
  • PyTorch 深度学习框架:优雅而简洁的代码实现