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