要頂住2萬並發用戶
要購買多少台SLB,多少台ESC,多少台DRDS,多少台Redis,多少台OSS,多少個CDN包?
另外軟件架構要用什么架構才能合理、充分利用上硬件資源,並且后期能夠方便的、 通過拓展硬件資源、 支持更大的並發量?
說實話,我也不知道。只能大概估算一下。
假設購買下面的硬件資源:
負載均衡SLB:

用下面的ESC 配置

下面的DRDS:

下面的Redis:

靜態存儲OSS:

CDN:

2萬並發,假設每個網頁大小為1M大小。
那么2萬的數據量為20000*1M=20G 的流量
20G的流量如果完全靜態化,那么壓力基本在CDN+靜態存儲OSS上。如果這樣,CDN 一天的流量=20G*86400秒=1728000G
(老天,即便並發時間只有萬分之一,也需要17.28G流量!按上面的500G半年的CDN,一個月用光了。)
這種做法,就是完全依賴CDN,攔住大部分用戶的請求。
如果部分靜態化,比如只把HTML,JS,CSS,圖片,字體放到CDN。 用戶的AJAX請求還是后台處理,那是不是少了很多呢?(感覺JSON數據也不大,最多也能省10%的數據量)
那如果靜態化不放CDN,全部放在OSS上,是否可以?(感覺這樣,OSS就是瓶頸了)
如果把HTML,JS,CSS,圖片,字體放到OSS,JSON請求ECS Web服務,那是不是更好?
考慮省錢方案,還是CDN+OSS+Redis方案
1、HTML,JS,CSS,圖片,字體放到CDN
2、HTML,JS,CSS,圖片,字體也放到OSS
3、HTML,JS,CSS,圖片,字體也放到ECS
4、CDN流量用光,就由Nginx 合理安排 去找OSS資源還是本地ECS資源
5、JSON數據存在Redis,也存放在ECS,Web 服務器自動維護 請求本地還是Redis 應對高並發
網絡架構圖如下:

軟件框架圖如下:

本帖問題目前還在探索中,目前購買的硬件數量都只是一台 (ECS2台除外)
