负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。
拥有大量用户的企业,经常会面临如下的难题:在高并发的情况下,经常会导致服务器响应速度慢,严重的情况会直接导致服务器停止服务。此时,会导致企业的业务中断,影响客户的正常访问。
负载均衡应运而生
<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的时候就异常了!!
后来直接的关闭健康检查!就可以了!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)