我们的应用场景与http的不同

核心: http是请求应答式的,而我们的应用,下行啥时候发是不确定的!!!

所以才有人搞两个tcp连接,一个专门用来发上行,一个专门用来发下行,这样数据结构不会相互干扰,可以提高并发能力!!!


分析:
nginx用多个进程去分别处理多个fd的read/write, 为何不用一个线程去做数据的读取,而后分发呢? ----默认就一个做数据读取的线程


fd是如何传递的? 如何保证response时,fd是有效的?
{
fd,
read,
write
}
fd的读与写都是在同一个结构体中,所以很容易知道某个fd是否关闭了,如果关闭了,则将这个结构体删除,也就没有了write back!
因为http是请求/应答的结构,因此read, 处理,write back, 所有fd的监控都在这个结构体里面,很好搞!!




但是,我们的应用呢? 啥时候写,是不确定的!!!也就是有内容要写时,必须查表才知道buffer在哪里??关键是fd也不知道是哪个!!!!
必须查查才知道要写到哪个具体的fd!!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值