这篇文章总结下负载均衡时,Connection Draining的应用场景和解决什么问题。
一. 应用场景
负载均衡+伸缩组的组合,是有非常大的好处的。由于流量按照规则被均匀分发到后端的服务器节点上,所以我们无需等待非工作时间,而是任何时间都可以把后端的服务器一个节点拿出来,做更新维护(系统升级、打补丁等等)。但是,这样做有个问题。比如,一个客户已经在访问某个服务器了,我们可以在客户端浏览器保留一个Session,但后端节点直接被拿走了怎么办?比如说,后端有个MySQL数据库,用户之前登陆的时候已经经过验证了,突然拿走了把用户访问转移到别的节点上,那不就得完全重新再来一遍验证吗?用户体验就太差了。
二. Connection Draining解决的问题
Connection Draining此时就会起作用,这个时候可以阻止新的节点访问、同时等一段时间,等旧用户访问完成了后再去把节点拿走,这样客户也许就是无感知的。Connection Draining在AWS ELB上默认是开启的,时间是5分钟。
网友评论