新版负载均衡教程


负载均衡的简单原理大概如下图:


这里使用三台机器进行负载均衡配置
负载均衡服务部署在192.168.1.201,以下简称主控
后端节点192.168.1.112,192.168.1.109,以下简称节点

由于我们的负载均衡是使用nginx来搭建的,要先在主控机器上安装nginx,然后安装负载均衡插件。
安装好插件之后打开插件,点击【添加负载】按钮,显示如下


创建负载.png (53.69 KB, 下载次数: 40)

下载附件

2020-10-29 11:00 上传

高级模式创建负载.png (42.5 KB, 下载次数: 41)

下载附件

2020-10-29 11:20 上传


这里会看到区分成普通模式和高级模式

普通模式和之前的负载均衡使用没有什么区别,添加网站的域名,upstream资源的名字,选择会话跟随方式
然后添加节点,点击提交就可以了。
这里说明一下,如果你添加的节点没有设置该域名的网站为默认站点,会导致无法通过负载均衡访问后端节点,
这是因为从主控转发到节点也是用的你添加的这个域名,但是负载均衡节点里面没有这个域名,而你又没有设置默认的
站点,会导致在节点中通过这个域名找不到对应的server。
解决办法:只需要在节点对应的网站中添加该域名到域名列表即可

高级模式同样是添加网站的域名,然后选择默认要使用的节点资源,这里如果你先在【资源配置】页面添加了节点资源,
这里只需要勾选上就行,如果资源列表没有你想选择的资源,可以直接点击【添加资源】按钮进行添加
选择了默认的节点资源之后,可以打开自定义location按钮,会弹出自定义location的选项,可以自己定义location的匹配规则,
第一项发送的域名表示从负载均衡发送到后端节点在请求头中添加的域名。默认为$host,即你浏览器打开访问的域名,一般情况下选择默认即可
第二项是自定义的url匹配规则,需要自己填写
第三项是匹配url的方式,可以选择精确匹配,正则匹配等方式
第四项为选择upstream资源,即选择请求转发到的后端节点资源
自定义location如果不添加,默认会只添加开头匹配/这种方式。

菜单栏切换到【资源配置】,这里是对资源的管理,点击添加资源可以看到如下所示


添加资源.png (41.35 KB, 下载次数: 40)

下载附件

2020-10-29 11:32 上传


添加节点,这里添加192.168.1.112和192.168.1.109两个后端节点,资源名称自定义,会话跟随方式根据自己需求进行选择
如果选择了会话跟随方式,请求会转发到固定的后端节点,直到该节点访问失败被负载均衡判定为下线
如果关闭了会话跟随,负载均衡会以加权轮询的方式来访问后端节点

这里说下节点权重设置
如果有两个节点,一个权重设置为2,一个设置为1,那么如果有三个请求过来,如果没设置会话跟随,请求会落在权重为2的节点上两次,
落在权重为1的节点上一次。

我这里添加了网站
www.aaa.com的负载均衡,默认资源选择的是aaa,aaa里面的节点是192.168.1.112和192.168.1.109


aaa.png (26.5 KB, 下载次数: 41)

下载附件

2020-10-29 11:57 上传

QQ截图20201029115733.png (26.79 KB, 下载次数: 44)

下载附件

2020-10-29 11:57 上传



绑定host 192.168.1.201 www.aaa.com
浏览器打开www.aaa.com



QQ截图20201029115919.png (30.54 KB, 下载次数: 34)

下载附件

2020-10-29 12:00 上传

QQ截图20201029115931.png (29.45 KB, 下载次数: 38)

下载附件

2020-10-29 12:00 上传


多次刷新,看到请求确实落在了不同的节点(因为我关闭了会话跟随,此时是加权轮询的负载均衡算法),
如果我打开会话跟随,不管怎么刷新请求都只会落在固定的节点,除非手动停掉该节点的后端服务,



那么负载均衡会自动下线掉该节点,再次刷新,请求会落在另外一个节点


转自   https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=58436&extra=page%3D2%26filter%3Dtypeid%26typeid%3D10