背景
有两个高访问量的前端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