关于负载均衡
负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。
使用带有负载平衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载平衡服务通常是由专用软体和硬件来完成。
负载平衡最重要的一个应用是利用多台服务器提供单一服务,这种方案有时也称之为服务器农场。通常,负载平衡主要应用于Web网站,大型的Internet Relay Chat网络,高流量的文件下载网站,NNTP(Network News Transfer Protocol)服务和DNS服务。现在负载平衡器也开始支持数据库服务,称之为数据库负载平衡器。
对于互联网服务,负载平衡器通常是一个软体程序,这个程序侦听一个外部端口,互联网用户可以通过这个端口来访问服务,而作为负载平衡器的软体会将用户的请求转发给后台内网服务器,内网服务器将请求的响应返回给负载平衡器,负载平衡器再将响应发送到用户,这样就向互联网用户隐藏了内网结构,阻止了用户直接访问后台(内网)服务器,使得服务器更加安全,可以阻止对核心网络栈和运行在其它端口服务的攻击。
当所有后台服务器出现故障时,有些负载平衡器会提供一些特殊的功能来处理这种情况。例如转发请求到一个备用的负载平衡器、显示一条关于服务中断的消息等。负载平衡器使得IT团队可以显著提高容错能力。它可以自动提供大量的容量以处理任何应用程序流量的增加或减少。
下面就来看一下在蜂巢中配置负载均衡的过程:
创建负载均衡
点击左侧的导航菜单「负载均衡」,进入负载均衡实例列表页,点击「创建负载均衡」按钮,进入负载均衡创建界面,如下图所示:
填完基本的创建信息后,点击「立即创建」按钮,跳转到「负载均衡详情」页面,如下图所示:
添加监听
创建完毕后,「添加监听」按钮即可使用。点击该按钮,跳转到创建监听页面。填写完相应信息后,点击「立即添加」即可:
注意:默认一个实例最多可以开 20 组监听,如果需要更多监听,请提工单。
协议设置
每组监听可以配置一组转发端口,转发端口包括源端口和目的端口,目前仅支持 HTTP 和 HTTPS。
转发规则
可以选择「不使用」或「使用」转发规则,默认为「不使用」。
若「使用」转发规则,则分为「按域名」和「按 URL」:
按域名:每组监听可以设置多个域名,域名支持完整域名和通配符,以 c.163.com 为例,格式如下所示:
c.163.com 精确匹配 c.163.com 域名
*.163.com 匹配所有以 163.com 结尾的域名
c.163.* 匹配所有以 c.163 开始的域名
注意: 如果开启了域名匹配,但请求的域名匹配不到任意一条规则,会返回 403。
按 URL: 使用前缀匹配,支持「/」, 可以在最后加入「$」来做完整匹配。
后端容器
可以选择集群或容器,支持混合选择。
会话保持
可以选择「不使用」或「使用」会话保持,默认为「不使用」。
会话保持分为「植入 cookie」或「改写 cookie」:
植入 cookie:负载均衡服务自动生成 cookie,可以指定超时时间,单位为 S。不填则默认为会话 cookie
改写 cookie:改写用户指明的 cookie,如果没有对应 cookie 说明不使用会话保持。
设置监听
点击「负载均衡详情」中的「监听管理」,可以查看所添加的监听,如下图所示:
点击相应监听中的「设置」按钮,即可对监听进行设置,如下图所示:
监听详情
在监听列表,点击相应监听中的「详情」按钮,即可查看监听详情,如下图所示
修改负载均衡
点击左侧的导航菜单「负载均衡」,即可查看负载均衡实例列表。点击所要修改的负载均衡实例名称,进入「负载均衡详情」页面,点击「设置」按钮,进入「设置负载均衡」页面,修改相应参数内容后,点击「提交设置」即可:
删除负载均衡
在负载均衡列表,点击要删除的负载均衡实例名称,进入「负载均衡详情」页面。点击「设置」按钮,进入「设置负载均衡」页面,点击「删除」按钮即可。注意:负载均衡实例删除后,不会删除关联的集群和容器,但是将不保留外网 IP,请慎重。