背景

        有两个高访问量的前端H5项目同时上线,为了保证微信分享接口能承受住高并发,尝试用阿里云负载均衡来配置分享接口。

虽然实际访问量没有达到预估的百万,日均有4、5万,并发有100多,所以此次配置还是相当有效的。

思路

        由于项目是纯前端H5,把项目整体打包到CDN,这样就算分享接口挂掉,也不会影响H5的正常访问。那压力就集中在分享接口的承载上。

       根据之前投放微信朋友圈项目的经验,服务器架构选择:多台服务器+负载均衡+云数据库,具体为 阿里云 ECS(云服务器)(8核16G)*2+SLB(负载均衡)+RDS(MySQL数据库)(1核2G)。

官网地址: 阿里云负载均衡SLB

操作方法

        具体的SLB操作方法这里不再陈述,阿里云SLB的入门文档 写的很清楚了。这里只是根据实例说重点的几步和要避掉的坑。

        大体有几步:创建ECS实例、搭建应用、创建负载均衡实例、添加监听和后端服务器、域名解析。

1、创建ECS实例

        是按微信朋友圈一跳并发400的标准 选择ECS配置的,计费方式一定要选择 按量付费,这样可以随意增加删除ECS,推广期过后可以释放掉ECS(SLB和RDS同样是按量付费),避免不必要的资源浪费。

        系统镜像选用的 护卫神PHP环境 集成了Apache、PHP、MySQL、FTP、phpMyAdmin,不必再手动去搭建服务器环境,节省了大把的非开发时间。

        注意要按护卫神文档,把几个TCP端口添加到ECS的安全组里。

  2、搭建应用

        由于服务器环境是用的第三方镜像,应用的搭建方法要根据护卫神的说明, 

        注意一点:要把SLB的域名、SLB的IP、ECS的IP加入到护卫神的绑定域名里,不然无法通过SLB的IP访问哦。

3、创建负载均衡实例、添加监听和后端服务器

        把2台ECS加入到SLB的默认服务器组里,第一次通过SLB的IP访问到ECS上的网页,还确实能让人惊喜一下~

        通过SLB的检测菜单,可以看到SLB的实时并发量,

4、域名解析

        这里说下微信公众号的配置,除了把域名加入JS安全域名外,还要把SLB和ECS的IP加入到公众号的IP白名单里,不然无法调用token。

BTW

        1、除了上面提到的,把各个IP加入到护卫神的绑定域名,通过SLB的IP访问网页还会提示403错误,这里是个大坑,需要把SLB的几个IP地址:100.64.0.0/10、10.158.0.0/16、10.159.0.0/16和10.49.0.0/16,加入到ECS的IP白名单;

        2、通过查看ECS的资源监视器,SLB的流量应该是均匀分发的。可以根据SLB并发量和ECS资源使用情况(TCP链接数、CUP使用率、内存使用情况),灵活的增加移除ECS的数量。

        3、最后说下价格,按上面的配置,按量计费,不算带宽和流量费用,根据目前的阿里云报价,ECS+SLB+RDS的费用为6元/时,即146元/天,还是很合适的。

参考链接

        阿里云负载均衡快速入门教程:https://help.aliyun.com/document_detail/27547.html?spm=a2c4g.11174283.3.1.prCOPj

        护卫神说明文档:https://market.aliyun.com/products/53398003/cmjj009525.html?spm=5176.204674.1085795.9.CIhSDO

        ECS在接入负载均衡服务前添加了白名单,对负载均衡服务有影响么?:

https://yq.aliyun.com/ask/58921?spm=5176.11065265.1996646101.searchclickresult.5682605emkRFY2

原文地址:http://begin.yundashi168.com/59.html

arison
113 声望10 粉丝