假如你是一個老司機,一眼看到一個這樣的外網帶寬曲線,你會有什麼反應?html
我擦,流量幾乎掉底了,從一天前開始的,至今仍未恢復,這個服務是掛掉了嗎?緩存
這實際上是近幾個月在微信上異常活躍的CCSER兒童失蹤預警平臺的後臺服務器的流量監控圖
安全
CCSER的發起人張永將,和咱們同樣有一個作中國的互聯網安珀警惕(Amber Alert)的夢想,從CCSER發起時咱們就一直在嘗試各類合做。去年末CCSER終於完成了大量前期工做,準備開始發力面向全國用戶作推廣,做爲互聯網老兵,咱們深知要作一個面向海量用戶的大平臺須要面臨巨大的技術挑戰,因而邀請CCSER入駐到「雲+公益」計劃,由咱們提供雲資源和必要的技術支持。服務器
果真,放量沒多久,CCSER提出了新的需求:原來提供的5臺服務器不夠用,並且面向全國的地區覆蓋不夠好,但願能夠提供多幾臺分佈在其全國各個機房的服務器來協助分發。微信
這實際上是很常見的一類問題:用戶須要的是一個牆上的洞,而他覺得本身須要的是一把衝擊鑽。在這個案例中,CCSER須要的是更多的分發數據的能力,而他覺得本身須要的是更多的分發數據的服務器。設計
CCSER的業務場景很特殊,每當有兒童走失案例上報,CCSER就會向走失地點附近的一大片區域進行APP和微信的消息推送,像這樣
3d
隨後短期內該片地區的大量的用戶會點擊這個消息,給服務器帶來很大的流量衝擊。htm
在大多數時間裏面,服務器又沒有什麼壓力。blog
所以若是咱們面對服務器的峯值流量來作系統選型的話,系統就不得不設計的很是高規格,同時使用率一定很是低。資源
還好在雲時代,咱們不須要去買本身的「衝擊鑽」,分發能力早就經過COS、優圖、CDN這樣的產品向公衆提供服務了,因此問題變的很簡單了:如何啓用CDN來提供透明的動靜態數據的加速服務。
因此咱們婉拒了CCSER增長服務器的需求,轉而協助CCSER進行CDN分發加速配置。
同時也協助CCSER配置緩存過時策略,確保動態數據透傳,靜態數據有效緩存,而且打開了「中間源」作二級的緩存。
通過CDN的兩級分發緩衝以後,CCSER服務器的壓力急劇下降,流量監控出現了文章開始處的掉底曲線。之後須要進行大範圍消息投放的時候,不再用畏首畏尾,擔憂服務器會不會撐不住了。
同時服務器的真實IP也被隱藏到了CDN後面,所以安全性也獲得了很大加強。
同時,假如這不是一個免費的公益項目的話,經過CDN來分發還能節省大量的費用。