有兩個高訪問量的前端H5項目同時上線,爲了保證微信分享接口能承受住高併發,嘗試用阿里雲負載均衡來配置分享接口。php
雖然實際訪問量沒有達到預估的百萬,日均有四、5萬,併發有100多,因此這次配置仍是至關有效的。html
因爲項目是純前端H5,把項目總體打包到CDN,這樣就算分享接口掛掉,也不會影響H5的正常訪問。那壓力就集中在分享接口的承載上。前端
根據以前投放微信朋友圈項目的經驗,服務器架構選擇:多臺服務器+負載均衡+雲數據庫,具體爲 阿里雲 ECS(雲服務器)(8核16G)*2+SLB(負載均衡)+RDS(MySQL數據庫)(1核2G)。mysql
官網地址: 阿里雲負載均衡SLB
具體的SLB操做方法這裏再也不陳述,阿里雲SLB的入門文檔 寫的很清楚了。這裏只是根據實例說重點的幾步和要避掉的坑。sql
大致有幾步:建立ECS實例、搭建應用、建立負載均衡實例、添加監聽和後端服務器、域名解析。數據庫
一、建立ECS實例後端
是按微信朋友圈一跳併發400的標準 選擇ECS配置的,計費方式必定要選擇 按量付費,這樣能夠隨意增長刪除ECS,推廣期事後能夠釋放掉ECS(SLB和RDS一樣是按量付費),避免沒必要要的資源浪費。安全
系統鏡像選用的 護衛神PHP環境 集成了Apache、PHP、MySQL、FTP、phpMyAdmin,沒必要再手動去搭建服務器環境,節省了大把的非開發時間。服務器
注意要按護衛神文檔,把幾個TCP端口添加到ECS的安全組裏。微信
二、搭建應用
因爲服務器環境是用的第三方鏡像,應用的搭建方法要根據護衛神的說明,
注意一點:要把SLB的域名、SLB的IP、ECS的IP加入到護衛神的綁定域名裏,否則沒法經過SLB的IP訪問哦。
三、建立負載均衡實例、添加監聽和後端服務器
把2臺ECS加入到SLB的默認服務器組裏,第一次經過SLB的IP訪問到ECS上的網頁,還確實能讓人驚喜一下~
經過SLB的檢測菜單,能夠看到SLB的實時併發量,
四、域名解析
這裏說下微信公衆號的配置,除了把域名加入JS安全域名外,還要把SLB和ECS的IP加入到公衆號的IP白名單裏,否則沒法調用token。
一、除了上面提到的,把各個IP加入到護衛神的綁定域名,經過SLB的IP訪問網頁還會提示403錯誤,這裏是個大坑,須要把SLB的幾個IP地址:100.64.0.0/十、10.158.0.0/1六、10.159.0.0/16和10.49.0.0/16,加入到ECS的IP白名單;
二、經過查看ECS的資源監視器,SLB的流量應該是均勻分發的。能夠根據SLB併發量和ECS資源使用狀況(TCP連接數、CUP使用率、內存使用狀況),靈活的增長移除ECS的數量。
三、最後說下價格,按上面的配置,按量計費,不算帶寬和流量費用,根據目前的阿里雲報價,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