首页
学习
活动
专区
工具
TVP
发布

后端技术

专栏作者
269
文章
266486
阅读量
31
订阅数
tomcat 请求分析 Processor和Request复用
Tomcat详解(5)---Connector 分析该文讲解了BIO、NIO下Connector的行为、
平凡的学生族
2022-01-07
7960
muduo网络编程库阅读
遵从Reactor模型,简单阅读了下。 来到目录examples/ace/loggin/server.cc server.cc main->LogServer->EventLoop和TcpServer
平凡的学生族
2021-01-07
4940
kafka 网络模型2 Selector
在上一篇文章中,我分析了Kafka的请求、响应流程,但留下了Selector的疑点。本文会分析Selector和它的poll()是如何进行网络IO的,NetworkReceive是如何被完整读取的,Send是如何被完整写出的,还会涉及到KafkaChannel和它的mute机制。
平凡的学生族
2020-06-09
8400
kafka 启动1 入口函数
该函数的目的是读取config/server.properties中的参数到Properties中,供之后使用
平凡的学生族
2020-06-02
1.3K0
kafka 网络模型1 请求响应流程
在kafka 启动1 入口函数中,我们阅读了KafkaServer的注释,这里直接总结一下:
平凡的学生族
2020-06-02
1.1K0
TCP TIME_WAIT解决办法
** 若TIME_WAIT事件设置过短, 会导致错误后果 TIME_WAIT结束过早, 导致之前迷失的第三次握手突然到达, 新连接突然成功
平凡的学生族
2019-12-24
2.2K0
java nio 源码分析2 IO
getTemporaryDirectBuffer和SocketChannelImpl值得分析
平凡的学生族
2019-12-20
6940
tcp详解 netstat理解
为了深入理解TCP协议, 我们需要了解TCP客户端/服务端的状态转移和正确性保持. 建议阅读Unix网络编程卷1第二章和第三章, 原书笔记
平凡的学生族
2019-12-20
8130
ZOOKEEPER335 为什么要区分acceptedEpoch 和 currentEpoch
意思是,以前是不区分acceptedEpoch 和 currentEpoch的,以前epoch是直接从zxid中前32位里提取的。但这会导致一个问题:假设有三个服务器s1, s2, s3. 集群s1和s2取得联系,且s1为leader,s3为LOOKING:
平凡的学生族
2019-12-11
2.1K1
Zk NIOServerCnxnFactory
NIOServerCnxnFactory基于NIO实现了一个多线程的ServerCnxnFactory,线程间的通信都是通过queue来完成的。NIOServerCnxnFactory包含的线程如下:
平凡的学生族
2019-12-02
9620
zk QuorumPeer分析1 启动与运行
其中大量用到MBeanRegistry.getInstance().register,我们看下MBeanRegistry的源码:
平凡的学生族
2019-12-02
5520
多路复用技术 epoll 分析
epoll有EPOLLLT和EPOLLET两种触发模式,水平触发和边缘触发. 此处略
平凡的学生族
2019-11-07
2K0
netty 线程模型(未完成)
虽然Netty的线程模型基于主从Reactor多线程,借用了MainReactor和SubReactor的结构。但是实际实现上SubReactor和Worker线程在同一个线程池中
平凡的学生族
2019-05-25
5050
tomcat请求分析(2)Socket转换为内部请求
http://www.iocoder.cn/Tomcat/yuliu/A-request-analysis-2-Socket-is-converted-to-an-internal-request-object/
平凡的学生族
2019-05-25
6780
java nio 在windows的实现
参考java nio 在windows上的实现 很多人说是IOCP,其实是select。 首先我们一步步查看调用链: Selector.select->...->WindowsSelectorImpl.doSelect->WindowsSelectorImpl.SubSelector.poll->WindowsSelectorImpl.SubSelector.poll0 我们看下WindowsSelectorImpl.SubSelector.poll:
平凡的学生族
2019-05-25
1.6K0
张龙netty学习笔记 P10
因为其请求-响应机制,聊天室是无法实现的。为了曲线救国,就出现了轮训技术,但不断的请求会造成带宽的浪费,而且不及时,而且header-body结构也会使请求报文变大。 html5以后,出现了webSocket:全双工长连接协议。可以在连接时带上参数,使协议升级为webSocket。
平凡的学生族
2019-05-25
3710
张龙netty学习笔记 P49~P51 零拷贝
一代目拷贝——四次拷贝 数据流动: 外设--DMA-->内核--->用户空间 用户空间--->内核---->外设 第二步的时候,数据写到内核时方法就返回了,之后由操作系统调度,将数据写到外设 二代目拷贝——三次拷贝 数据流动: 外设--DMA-->内核空间缓存 内核缓存-->socket缓存 socket缓存-->外设 数据不再需要拷贝至用户控件,但依旧有从内核缓存拷贝至socket缓存的过程。 三代目拷贝——零拷贝 原视频P51 30分钟处 流程如下: 数据从外设通过DMA读取至内核缓存 内核缓存将文
平凡的学生族
2019-05-25
3890
select poll epoll
IO多路复用之select、poll、epoll详解 这一篇总结得好关于同步,异步,阻塞,非阻塞,IOCP/epoll,select/poll,AIO ,NIO ,BIO的总结
平凡的学生族
2019-05-25
1K0
netty源码分析之pipeline(二)
netty源码分析之pipeline(一)中,我们已经了解了pipeline在netty中所处的角色,像是一条流水线,控制着字节流的读写,本文,我们在这个基础上继续深挖pipeline在事件传播,异常传播等方面的细节
平凡的学生族
2019-05-25
6270
tomcat 请求分析 总结
创建线程并处理新连接 EndPoint创建Acceptor线程循环监听新的连接(socket)。 监听到的新连接(socket)经过包装,创建SocketProcessor线程交给executor线程池处理。后续该连接上的请求都由该线程处理。 Acceptor的连接数,在三种Endpoint情形之下的默认值都是1,但可在server.xml中修改。由于服务器一般是多核CPU,所以一般配置为2或更多. Connector架构、 connector结构 处理请求 宏观角度 Processor和Requ
平凡的学生族
2019-05-25
2700
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档