欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

健康检查

程序员文章站 2022-04-16 08:21:37
序言没有见过极致的黑暗,就不知道什么是真正的光明。技术的作用是什么呢?技术就是让你吹醉到一个忘我的领域,然后能提起很大的兴趣。健康检查 健康检查分为......
序言

    没有见过极致的黑暗,就不知道什么是真正的光明。


    技术的作用是什么呢?技术就是让你吹醉到一个忘我的领域,然后能提起很大的兴趣。

健康检查

    健康检查分为几种,像容器的健康检查就可以在容器里面执行一个命令,然后看返回码,如果不是200,那么就可以认为不健康;一种是tcp检查,可以使用telnet 端口来查看是否正常;最后一种则是http检查,可以发送一个head请求来进行检查。


    当进行容器检查的时候,如果出现大面积的健康检查有问题,那么百分之九十的可能是docekr命令出问题了,可能是hang住了,可能是docker命令在进行大量的io操作。


    当无论是进行tcp检查还是http检查的时候,最后一个报文肯定是负载均很器发送的reset报文。


    http检查的报文抓包如下:

健康检查

    在图中可以看到一次健康检查经历了哪些阶段,开始是经过三次握手,不想握手怎么办。。。然后是发送head请求,收到回复。。。最后就是后段服务器响应结束,发送FIN断开报文,负载均衡收到发送ACK,最后发送一个reset报文关闭连接。


    tcp检查的报文抓包如下:

健康检查

    可以看到这种tcp检查就简单多了,三次握手结束,直接负载均衡器发送一个reset报文关闭连接。


    当服务端主动关闭连接的时候,客户端收到的结果就是connection reset by peer,抓包总是能看到好玩的东西。


    健康检查总有各种好处,当发现后端挂了的时候,能及时从LB中去掉,当后端上线之后,能及时加进来进行提供服务。


    健康检查的坏处就是产生大量的日志,因为对于健康检查来说,可能是2s检查一次,从而对于后端来说,日志的数量太多了,从而导致无法查看到正常的日志。


    负载均衡经常导致的问题就是:负载不均衡,原因有各种各样的,例如开启了会话保持功能,例如开启了长连接,然后导致了连接积压。


    在开启了会话保持功能之后,如果时间设置的不够长,那么经常会出现访问一个页面的时候,会发现加载不完整。

健康检查

    无风的夜晚很闷热。

    


本文地址:https://blog.csdn.net/TM6zNf87MDG7Bo/article/details/90820243