基于Nginx的软件负载均衡实现解读
(3)Learn
较为的复杂也较为的智能,Nginx会自动监测request和response中的session信息,而且通常需要回话一致性的请求、应答中都会带有session信息,这和第一种方式相比是不用增加cookie,而是动态学习已有的session。
这种方式需要使用到zone结构,在Nginx中zone都是共享内存,可以在多个worker process中共享数据用的。(不过其他的会话一致性怎么没用到共享内存区域呢?)
2.2 Session Draining
主要是有需要关闭某些backend以便维护或者升级,这些关键性的服务都讲求gracefully处理的:就是新的请求不会发送到这个backend上面,而之前分配到这个backend的会话的后续请求还会继续发送给他,直到这个会话最终完成。
让某个backend进入draining的状态,既可以直接修改配置文件,然后按照之前的方式通过向masterprocess发送信号重新加载配置,也可以采用Nginx的on-the-fly配置方式。
2.3 backend健康监测
backend出错会涉及到两个参数,max_fails=1 fail_timeout=10s;意味着只要Nginx向backend发送一个请求失败或者没有收到一个响应,就认为该backend在接下来的10s是不可用的状态。
通过周期性地向backend发送特殊的请求,并期盼收到特殊的响应,可以用以确认backend是健康可用的状态。通过health_check可以做出这个配置。
在使用了health_check功能的时候,一般都需要在backend group开辟一个zone,在共享backend group配置的同时,所有backend的状态就可以在所有的worker process所共享了,否则每个worker process独立保存自己的状态检查计数和结果,两种情况会有很大的差异哦。
2.4 通过DNS设置HTTP负载均衡
Nginx的backendgroup中的主机可以配置成域名的形式,如果在域名的后面添加resolve参数,那么Nginx会周期性的解析这个域名,当域名解析的结果发生变化的时候会自动生效而不用重启。
责任编辑:任我行
-
碳中和战略|赵英民副部长致辞全文
2020-10-19碳中和,碳排放,赵英民 -
两部门:推广不停电作业技术 减少停电时间和停电次数
2020-09-28获得电力,供电可靠性,供电企业 -
国家发改委、国家能源局:推广不停电作业技术 减少停电时间和停电次数
2020-09-28获得电力,供电可靠性,供电企业
-
碳中和战略|赵英民副部长致辞全文
2020-10-19碳中和,碳排放,赵英民 -
深度报告 | 基于分类监管与当量协同的碳市场框架设计方案
2020-07-21碳市场,碳排放,碳交易 -
碳市场让重庆能源转型与经济发展并进
2020-07-21碳市场,碳排放,重庆
-
两部门:推广不停电作业技术 减少停电时间和停电次数
2020-09-28获得电力,供电可靠性,供电企业 -
国家发改委、国家能源局:推广不停电作业技术 减少停电时间和停电次数
2020-09-28获得电力,供电可靠性,供电企业 -
2020年二季度福建省统调燃煤电厂节能减排信息披露
2020-07-21火电环保,燃煤电厂,超低排放
-
四川“专线供电”身陷违法困境
2019-12-16专线供电 -
我国能源替代规范法律问题研究(上)
2019-10-31能源替代规范法律 -
区域链结构对于数据中心有什么影响?这个影响是好是坏呢!