http协议的keepalive属性

el/2024/5/23 2:12:27
序言

    君子予以义,小人予以利。


    踩到了一坨屎,你是把鞋子洗洗继续穿?还是把鞋子扔了?还是把脚砍了?

keep-alive

    在使用http的时候,有1.0的协议,有1.1的协议,两者最大的区别就是1.0的协议会将connection设置为close,从而是一种短连接的状态,从而每次进行传输数据的时候,都要三次握手,损耗性能,从而在1.1的协议中进行了改进,默认使用的连接保持的属性,从而提高了性能。


    背景:在一些特殊的场景中,一旦使用的是1.0的协议,那么就会造成一些业务失败。


    长连接短连接傻傻分不清楚,长连接好处那么多,我们就必须使用长连接么,并不一定,在进行健康检查的时候,就需要使用短连接,emmm,看来好像在健康检查的时候使用短连接也是可以的,但是想象一种场景,如果有几万个vip呢,都进行长连接的健康检查,那么就会造成一种情况,所有的请求都在排队等待连接的释放,所以对于大量的vip来说,还是需要使用短连接的方式。


    指定使用http 1.0的协议,进行抓包,在不同的机器上进行请求:

640?wx_fmt=png

    在使用curl的时候,-I表示仅返回头文件,-0表示使用http1.0的协议,-H表示带http头属性,抓包结果如下:

640?wx_fmt=png

    当使用http1.0而不带http头呢?

640?wx_fmt=png

    抓包结果如下:

640?wx_fmt=png

    从上面可以看到,nginx偷偷修改了协议,但是在使用属性的时候,依然是根据客户端发送的http头直接进行的转发


    使用默认情况下的发送都是http1.1的协议,如下:

640?wx_fmt=png

    抓包结果如下:

640?wx_fmt=png

    只听说过升协议,从1.0升级到1.1,但是降协议,居然还有这种操作。。。只有你想不到,没有做不到。


    转发的时候是否需要使用keep-alive属性,也是一个选择的过程,对于大量的连接来说,还是需要使用close的形式。长连接太多,vip组件无法承担那么大的压力。


    对于这种问题如何进行诊断呢?主要就是将请求发送到后端的rs,然后发一个请求到nginx,进行抓包对比,看看哪些地方发生了变化,例如请求的协议,例如请求的属性。在使用浏览器的时候,默认发送的都是1.1协议,但是如果返回来的也是1.1协议,在浏览器的F12中看不出来任何变化,还是需要直接在rs上进行抓包比对。        


    再说解决方案,当出现问题的时候,有多少种解决方案可选?原则都是优先解决问题。


    既然7层的负载均衡搞不定了,那就试试4层,毕竟lvs在使用的时候,单纯作为一个转发器,不会那么复杂。


    如何确定是负载均衡的问题,那么也是通过抓包来进行比对。发到负载均衡上,发到后端的rs上。


    负载不均衡怎么办?在很多时候,lvs是根据源ip进行会话保持,其实nginx的ip_hash也是这种会话保持,当你最前端的是F5的时候,那么又选择那种负载均衡呢?都会导致后端的rs负载不均衡。。。。


风言风语

    很多时候,你会碰到各种挑战,有的时候是人的挑战,有的时候技术的挑战,当蒙着眼睛走路的时候,问题不会消失,当闭着眼睛看人的时候,这个人可能会消失,一个环境。

640?wx_fmt=jpeg

    当你不去看一个问题产生的本质原因的时候,其实也能解决问题,所谓的知其然不知其所以然。要想看本质原因,会花费大量的时间,而且需要关注各种各样的细节问题。不想keepalive了,想close了。。。


    解决了,那就算了吧,何必浪费时间。。。emmm,maybe。。。

    

      



http://www.ngui.cc/el/5239932.html

相关文章

愿风指引你的道路

序言 回顾每天的工作,生活,就是一个异常,就是一个故障,就是一个冒烟测试。 什么样的人才值得留一辈子?因为爱情?。。。说错了,因为离职。风言风语 1 耐心 和什么样的人聊天有耐心?还…

闲聊沟通

序言 现在的聊天工具这么发到,为啥还能信息不能及时的同步? 什么样的沟最难逾越?就是那种对牛弹琴那种,是牛不懂,还是弹琴的是个傻逼呢?风言风语 我也不懂沟通,我只知道人定胜天,因为…

健康检查

序言 没有见过极致的黑暗,就不知道什么是真正的光明。 技术的作用是什么呢?技术就是让你吹醉到一个忘我的领域,然后能提起很大的兴趣。健康检查 健康检查分为几种,像容器的健康检查就可以在容器里面执行一个命令,然后看…

闲聊nginx之403

序言 你也配看我的文章,我和你有何交情? 什么样的问题最好玩?诡异的问题。。。什么样的技术最好玩?逻辑复杂的技术。。。什么样的人最令人厌恶?fucking pussy,有本事对刚。nginx 流下了没本事的泪水。 一个…

不聊k8s的hpa-横向扩容

序言 看看别人家的文章,再看看自己的文章,就知道什么叫low。。。 站在底层太久,抬头一看,我C,fuck。。。留下了没有境界的泪水。。。hpa 机会,是留给有准备的人的。。。哼,不阔能. 邋里邋遢遇情…

微风不燥

一觉醒来,渐天黑,已天明。 一年四季之困惑再次来袭,不知为何,不知何解,不知所求,不知所畏。 从哪里来,又到哪里去。。。技术到底需要追求到什么程度,技术到底能解决什么问题&#xf…

漫谈容器监控系统

序言 无风不起浪,这个世界监控无处不在,等到了5g时代,哼。。。就更加猖狂了。 当出了故障的时候,你才知道哪些人和你是同一根绳上的蚂蚱。监控系统 人生路漫漫,你也不知道有多少眼睛在盯着你,期待你的表演。…

容器不同用户显示时间不不一致

序言 临渊羡鱼,不如回家睡觉。 不同的话,有不同的解析方式,积极的人用正向去解析,悲观的人用消极去解读,人与人不同,花有几样红。容器时间 在容器里面进行监控的时候,大量的依赖于时间&#xff…

长连接keepalive

序言 时间如风,转眼又到了月底。。。时光流逝,我却抓不住她的尾巴。。。 你以为你赢了,其实你输了。。。你以为你输了,其实你是惨败。。。长连接 一代版本一代神,代代版本有法神。。。不要和版本抵抗,你扛不…

灵魂发问

序言 谬论之所以是谬论,因为是没有实际产生作用,每天挂在嘴边的,啊,我要减肥,骗鬼呢,鬼才信。。。灵魂已经枯萎。 学了那么多,记住了几个?认识那么多人,能认识多久&#…