tomcat-连接器架构设计

一、NioEndpoint组件

Tomcat的NioEndPoint组件实现了I/O多路复用模型,接下来我会介绍NioEndpoint的实现原理。

1.总体工作流程

我们知道,对于Java的多路复用器的使用,无非是两步:

1.创建一个Seletor,在它身上注册各种感兴趣的事件,然后调用select方法,等待感兴趣的事情发生。

2.感兴趣的事情发生了,比如可以读了,这时便创建一个新的线程从Channel中读数据。

Tomcat的NioEndpoint组件虽然实现比较复杂,但基本原理就是上面两步。

我们先来看看它有哪些组件,它 一共包含LimitLatch、Acceptor、Poller、SocketProcessor和Executor共5个组件,它们的工作过程如下图所 示。

LimitLatch是连接控制器,它负责控制最大连接数,NIO模式下默认是10000,达到这个阈值后,连接请求 被拒绝。 

相关推荐

  1. 谈谈 Tomcat 连接器

    2024-04-04 10:28:02       7 阅读
  2. Tomcat设计思路

    2024-04-04 10:28:02       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-04 10:28:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-04 10:28:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-04 10:28:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-04 10:28:02       20 阅读

热门阅读

  1. 谈谈Python中的ORM框架,如SQLAlchemy

    2024-04-04 10:28:02       14 阅读
  2. flutter 安卓打包自定义名字

    2024-04-04 10:28:02       12 阅读
  3. 常用的scss工具方法封装

    2024-04-04 10:28:02       14 阅读
  4. ubuntu thrift 编译和使用

    2024-04-04 10:28:02       15 阅读
  5. MFC 获取程序版本信息

    2024-04-04 10:28:02       16 阅读
  6. SAM Self-Attention based Deep Learning Method

    2024-04-04 10:28:02       14 阅读
  7. React|获取oss存储的文件,并转为json格式

    2024-04-04 10:28:02       15 阅读
  8. CV最新论文|4月1日 arXiv更新论文合集

    2024-04-04 10:28:02       16 阅读
  9. Spring和SpringBoot的区别

    2024-04-04 10:28:02       14 阅读
  10. Gin框架(3)

    2024-04-04 10:28:02       10 阅读