阿里云ECS服务器SLB负载均衡实践

阿里云ECS服务器SLB负载均衡实践,第1张

负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。

拥有大量用户的企业,经常会面临如下的难题:在高并发的情况下,经常会导致服务器响应速度慢,严重的情况会直接导致服务器停止服务。此时,会导致企业的业务中断,影响客户的正常访问。

负载均衡应运而生

<u>需求:本次实验最低需求两台云服务器ECS</u>

上图创建了两台云服务器ECS实例和一个负载均衡实例,它们各自拥有各自的d性IP地址

在浏览器两个页面分别输入两台云服务器ECS的d性IP访问

比较两台ECS的访问结果,发现部署的网站内容相同,只是显示的后端服务器IP不同。

阿里云登陆界面选择用RAM用户登录

使用实验提供的 子用户名称 子用户名密码 登陆阿里云管理控制台

<img src="https://upload-images.jianshu.io/upload_images/20425542-fa1a73a6dc138f09.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="4.登陆.png" style="zoom:50%" />

<img src="https://upload-images.jianshu.io/upload_images/20425542-4d17f4b440d7c9a5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="5.登陆.png" style="zoom:50%" />

登录后点击左侧 导航栏的 产品与服务 选择 负载均衡

<img src="https://upload-images.jianshu.io/upload_images/20425542-3bad79d4ddfed80d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="6.png" style="zoom: 67%" />

a. 在控制台点击左侧 实例管理 ,在右侧页面中的红框处看到负载均衡的 公网服务地址

该公网服务地址即为负载均衡实例的d性IP地址

b.在浏览器上输入a的公网服务地址并访问

可见后端服务器IP尾数为131(ECS-2),但当我们刷新一遍后,如下图

后端服务器IP尾数变为130(第二台ECS-1)

当我们不停的刷新,会发现后端服务器IP 实在这两台ECS的 内外地址 之间轮流转换

因为我们在第二步配置的两台ECS的权重是相同的

下一步我们试着改变两台ECS的权重不相同看看效果如何

a.进入控制台--选择负载均衡--实例管理--点击进入实例--默认服务器组,进入如下图所示

b.勾选两台服务器--点击修改权重

c.设置权重 30,90,效果如下图

d.在浏览器中,刷新多次 负载均衡服务地址 的页面,统计页面的 后端服务器IP

可以发现:每 4 次刷新,将有 3 次访问 权重 90 的 ECS实例, 1 次访问权重为 30 的 ECS实例。

用户可以根据实际情况调整负载均衡器的请求分发,一般将 配置高的服务器设置的权重调高 配置较低的服务器设置的权重调低 。这样可以避免在高并发时,配置较低的服务器因为压力较大服务异常的发生。

a.实例管理界面---监听---修改监听配置

b.点击修改

c.开启会话保持、可选择修改会话保持超时时间

d.依次点击下一步,不修改

e. 再次在浏览器中输入 负载均衡 IP地址 多次刷新 ,发现在会话保持的超时时间内请求 只会分发到某一台 ECS 上(究竟是哪一台 ECS 没有规定),时间超出后,重新按照权重比例分发。

a.进入实例

b.点击停止

<img src="https://upload-images.jianshu.io/upload_images/20425542-e7d5f08534cd1938.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" alt="28.png" style="zoom:67%" />

c.返回,显示如下图所示,ECS-2已关闭

d.在监听页面和实例管理页面,健康状态显示异常

e. 再次刷新浏览器中 负载均衡 的 IP地址 ,此时,请求发送到 健康检查状态 为 正常 的ECS-1上。

1 可以通过配置反向代理实现本地java应用代理到阿里云负载均衡,然后外界可以通过阿里云负载均衡访问到本地java应用。

2 原因在于阿里云负载均衡可以实现流量分发和负载均衡的功能,同时也可以支持反向代理,将外部请求转发到指定的后端服务器,从而实现本地java应用的代理。

3 在具体 *** 作上,需要在阿里云负载均衡中配置反向代理规则,指定本地java应用的IP地址和端口号,然后将外部请求转发到该规则所对应的后端服务器上,即可实现本地java应用的代理。

同时,还需要保证本地java应用所在的服务器能够被外界访问到,可以通过配置安全组规则和网络ACL等方式来实现。

因为业务背景问题,目前应用后端的接口和前端服务是放置在不同的服务器上,而前端页面现在说需要加上https,但是我们的前端页面目前请求应用后端的接口的时候使用的还是http,所以导致了,请求http的接口时候出现了异常!

如图示:

解决的办法就是,我们的也给需要给我们的应用接口加上对应的https支持!

之前已经给对应的接口的域名买好了对应的证书!

问题描述:

因为忘了,我们的应用接口的域名是指向了阿里云SLB上的服务器,所以一开始的时候是在后端进行配置相关的SSL,可是配置来配置还是无法生效!

请求的时候会说超时:

首先后端的集群的应用服务器NGINX的配置是:

后知后觉才记得,域名的指向的是负载服务器的IP,我们需要在负载层服务器那里进行配置。

于是乎打开了阿里云的负载均衡,查看一下对应的一些配置信息,

所以尝试了添加对应的新的监听处理!

添加基本配置:

配置对应的监控检查:

然后再配置对应的转发策略:

结果:

第I一次添加的时候,我开启了对应 <使用虚拟服务组>

导致下面的问题的提示(理论上其实应该是没影响的,暂且没继续尝试):

并且访问对应的后端接口返回的是502:

因为对于http还是没有什么问题,所以排除了后端问题的可能性!

后来删除继续重新添加:

但是还是出现异常信息,

后来查阅各种资料,在阿里云的官方文档上有对应的排错步骤:

参考资料信息:

https://help.aliyun.com/knowledge_detail/55201.html?spm=a2c4g.11186623.6.714.K0jKZY

https://help.aliyun.com/knowledge_detail/55207.html?spm=a2c4g.11186623.6.721.FWDfvM

排查步骤

PS:

检查负载均衡状态,是否有后端ECS健康检查失败的情况,如果有健康检查失败,解决健康检查失败问题。

后来觉得应该有可能是原因是健康检查检查引起的问题异常:

,因为默认他应该是会在对应的server下的一个默认的路径去检查服务的情况,由于我没指定对应的检查URL地址,所有在转到80的时候就异常了!!

后来直接的关闭健康检查!就可以了!!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11240984.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存