首页 阿里云动态正文

阿里云产品之负载均衡使用小记

云返利网 阿里云动态 2020-09-15 04:39:33 7 0

阿里云丨智汇谷产业基地首届行业领 袖座谈会成功举行

 2020年9月12日由阿里云丨智汇谷产业基地主办的“首届行业领 袖座谈会”成功举行,为响应高新区打造全市科学发展先行区的战略布局,智汇谷产业基地盛邀聊城各行各业行业领 袖,共同探讨聊城产业发展以及企业生态构筑。聊城市高新区管委

     目前大部分中小企业上云都是选择阿里云,毕竟在国内阿里云的市场份额最大,几乎占据一半了,而且阿里云产品比较多,还基本都是自主研发的,可以满足绝大多数的应用场景。其中负载均衡服务肯定是大多数企业都会使用到的一个服务,本文就个人使用负载均衡服务过程中遇到的一些问题进行记录分享一下,也分享一下我理解的负载均衡。

负载均衡通过设置虚拟服务地址,将添加的同一地域的多台ECS实例虚拟成一个高性能和高可用的后端服务池,并根据转发规则,将来自客户端的请求分发给后端服务器池中的ECS实例。

负载均衡实例包含监听和后端服务器两部分(Server Load Balancer instances)

一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。要使用负载均衡服务,您必须创建一个负载均衡实例,并至少添加一个监听和两台ECS实例,单个实例就不叫均衡了。

监听 (Listeners)

监听用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查。

后端服务器(Backend Servers)

一组接收前端请求的ECS实例。您可以单独添加ECS实例到后端服务器池,也可以通过虚拟服务器组或主备服务器组来批量添加和管理。

以上是阿里云文档之中对负载均衡的概述,其中深层原理的东西不求甚解,咱们能用好它就行,我的理解是把SLB服务理解为一个“类Nginx的东东”:

1、把监听对应是一个nginx的虚拟主机listen port;

2、后端服务器组理解为一个upstream,单台的话就是一个反向代理proxy_pass http://ip_addr;

3、基于域名或URL路径进行转发相当于nginx location 匹配URL规则转发到相应后端服务;

4、扩展域名管理就相当于多个upstream,一个域名对应一个upstream(虚拟服务器组)。

顺便说说正向代理和反向代理

1、反向代理(你自身不能到达目的地,中介替你到达--代理Server端)

经典案例:拨号上网

你是纯内网环境,需要访问外网的资源,但是内网和外网是不能通讯的,怎么办呢?你自己不能出去,那么只能找一个代理(Gateway/Proxy)代替你出去。

利用宝塔面板免备案绑定域名腾讯云阿里云主机教程

1.整了个宝塔面板(我的服务器是上海的哦) 2.添加网站的时候,把服务器ip也添加上去,端口随便,所以说我填了520,然后把域名也绑定上去,域名端口就不改了 3.然后买个cdn,把域名解析cdn上,然后绑定域名,把域名填上,站源ip填ip:端

2、正向代理(你自身可以达到目的地,中介替你加速或绕道--代理Client端)

经典案例:翻墙

你现在可以访问外网,但是速度不快,因为中间走了很长很长的路;又或者因为某些原因禁止访问某些资源,此时你希望找一个中介帮助你提速或者打通去访问某些资源的路。而这个中介和你需要的资源之间他们有更优的路线可以走,这时通过中介去访问资源就非常快。通过以上两个例子是否明白正向/反向代理是什么了吧。

言归正传,说回使用负载均衡实例,目前采用的SLB配置监听的方式如下:

client(用户)---->https(443)---->SLB----->http-80(nginx)----->业务应用


以下是配置过程中遇到的一些问题解决记录,基础的操作请查看文档的最佳实践。

1、目前全部业务都要求使用https访问,需要在SLB上配置强制跳转https,nginx配置http强制跳转https是通过return 301进行跳转:

# nginxserver { listen 80;    server_name abcdfe.god.com; ### 使用return的效率会更高 return 301 https://$server_name$request_uri;}

而SLB是添加一个80端口跳转到443端口的监听,完成https的强制跳转:

2、前端Vue/React项目需要提供高可用方式部署,想到通过SLB部署,这样需要多个域名指向一个阿里云SLB,每个域名都要走https访问,查询文档,分三个步骤:添加HTTPS监听、配置转发规则、添加扩展域名(这个配置我找了好久)

这个配置完成后,我碰到一个问题,发现通过域名访问,有时候显示空白页面,有时候又不显示,浏览器调试发现请求页面出现js文件识别为text/html类型,返回码503:

通过咨询工单,一开始认为是浏览器缓存和开启了限制ip的limit模块,强制刷新缓存和注释了limit模块还是不行,最后的最后经过排查发现确认503和后端服务无关,是SLB负载均衡直接填充的,另外通常SLB直接填充503都是因为达到了QPS限速所致,分析了chrome和firefox的请求方式发现chrome的并发请求特别快而且首页元素非常多,有问题的地址chrome在1秒内并发了192次请求,而firefox将这些请求在4秒内才并发完,实例规格是slb.s1.smal,QPS是1000,转发集群由8台组成,所以单台QPS为125,可能刚好踩到了QPS限制,另一个地址正常是因为元素在130左右所以可能刚好在限速内,这个比较巧合,最后解决方案:

1). 提升SLB的QPS,也就升级实例规格。2). 首页元素过多,可以尽量删减一下,因为正常一个首页元素应该也就个位数,目前单客户端请求就直接触发了QPS还是比较少见的;

参考文档:https://www.alibabacloud.com/help/zh/doc-detail/27539.htm?spm=a2c63.p38356.b99.7.64fc71b5Ltdhrz

https://www.cnblogs.com/skyflask/p/7518527.html

知道阿里为什么要投资“四通一达”吗?因为中国的快递业真的很厉害。数据显示,我国快递行业每天处理的包裹平均达到2亿件,今年的快递业务量将超过750亿件,到今年9月10日,中国的快递公司共计处理了500亿件包裹,相当于平均每天处理2亿件包裹。大家谈起阿里系,第一印象就是阿里云和蚂蚁的价值大,值得注意的是

{"rich_content":{"text":"知道阿里为什么要投资“四通一达”吗?因为中国的快递业真的很厉害。数据显示,我国快递行业每天处理的包裹平均达到2亿件,今年的快递业务量将超过750亿件,到今年9月10日,中国的快递公司共计处理了500亿件包

【关于云返利网】

云返利网是阿里云、腾讯云、华为云产品推广返利平台,在各个品牌云产品官网优惠活动之外,云返利网还提供返利。您可以无门槛获得阿里云、华为云、腾讯云所有产品返利,在官网下单后就可以领取,无论是自己用、公司用还是帮客户采购,您个人都可以获得返利。云返利网的目标是让返利更多、更快、更简单!详情咨询13121395187(微信同号)