大型互聯網應用常常要處理流量高峯問題,這也是我所負責業務常常要面對的事情,好比遇到一個熱點事件、策劃一個活動或者push一個頁面,訪問的驟增帶來讀寫流量的驟增,對應每一個模塊都面臨考驗,那麼有哪些方法能夠作到流量削峯或者說流量削峯要從哪幾個方面考慮呢,說下個人總結:後端
一、系統基於微服務的架構設計,彈性擴展瓶頸模塊服務器資源;
二、接入層以及各微服務模塊極大的用好cache,增長QPS,從而加大整個集羣的吞吐量;
三、必要的模塊間使用消息隊列通訊,進行模塊異步解耦,訪問量上來後,使用時間成本換取業務可以正常服務;
四、各服務模塊對自身負責的同時,要作好後端依賴有效調用的判斷,作到向上遊模塊所作的調用都是必要的調用,無冗餘或無效的調用;服務器
五、劃分好動靜資源,靜態資源使用CDN進行服務分發。架構
補 充:運維
六、在可行的狀況下,作好冷熱分離,對能標記區分出來的熱資源,單獨分配資源處理,以便不影響其餘正常訪問請求的資源。 異步
在資源有限的狀況下,作好各模塊的降級預案,再從這6個方面多作努力,高峯期服務集羣的流量會作到及好提高的。ide
自建我的原創站運維網咖社(www.net-add.com),新的博文會在網咖社更新,歡迎瀏覽。微服務