快穩炫:電商峰值系統架構三字訣
《程式設計師》2014年11月刊:電商峰值系統架構設計
原文連結:http://www.csdn.net/article/2014-11-04/2822459快——快的目標是確保使用者端快速流暢的體驗。
對前端頁面的處理
- 將有效期較長的靜態頁面通過CDN(Content Delivery Network,內容分發網路)快取到離使用者最近的服務節點上。
- 將有效期較短或者需要對失效時間做最大限度控制的靜態頁面,通過類似於Memcache的快取記憶體系統或類似於Squid的反向代理系統快取在服務端。
- 將混合型頁面(如商品單頁)進行動靜分離,靜態資料(如商品介紹等)快取在本地,動態資料(如可用庫存和促銷價格等)非同步進行載入。
對後端資料的處理
- 資料庫SQL慢查詢優化。例如,重構相關索引,對where子句進行優化等。
- 資料庫讀寫分離。例如,MySQL的Master/Slave結構。
- 資料庫分庫分表。這是減輕單個資料庫伺服器壓力的有效手段,不過同時也會帶來系統的複雜性,是魚和熊掌之間的關係。
對網路傳輸的處理
- 執行負載均衡,第四層交換按實現分類,分為硬體實現和軟體實現。通過硬體實現一般都由專業的硬體廠商作為商業解決方案提供,如F5等,這些產品非常昂貴,但能夠提供非常優秀的效能和很靈活的管理能力。通過軟體實現,如LVS等,雖然效能比專業硬體稍差,但軟體實現配置起來更靈活。
穩
穩的目標是確保系統端穩定可靠的服務。無論在任何情況下,都要做到儘可能不當機、不出錯。要做到這一點,可以在以下幾個方面做文章。
系統解耦
拆分業務模組和功能模組,使得每個模組都做到高度內聚,然後用SOA,通過嚴格定義模組之間的服務介面,做到模組間的鬆散耦合。在一個模組發生問題時儘可能不影響其他模組的執行,尤其不能影響關鍵業務的執行。同時,可以對單個模組進行橫向擴充套件,尤其是對關鍵的業務模組,以確保關鍵業務一定不能受影響。需要注意的是,模組劃分的粒度應進行權衡,過細的粒度雖然可以帶來更多的靈活性,但也會帶來程式設計的複雜性。
有損服務
根據CAP(Consistency一致性,Availability可用性,Partition Tolerance分割槽容忍性)理論,三者不可得兼。對於電商平臺,其中多數應用並不需要很強的一致性,因此合理的方式是用犧牲部分一致性來換取較高的可用性。
有損服務(服務降級)就是一種提高系統穩定性和可用性的有效實踐。
在電商系統中,要優先保證類目瀏覽、產品單頁和訂單流程能夠執行。
資料庫減負
我們知道資料庫是所有節點中最不容易擴充套件的,複雜的SQL查詢條件會導致資料庫負擔過重,此時可用增加應用計算中間伺服器的方式,通過高效簡潔的SQL查詢,應用計算中間伺服器一次性地從資料庫中取出最小全集的資料行,然後在記憶體中利用演算法剔除冗餘資料,以應用演算法的複雜度換資料庫負擔的方式。
炫
炫的目標是確保業務端實時高效的排程。從日誌收集和實時計算入手,通過對使用者行為資料的視覺化(圖1),及時發現問題和洞察商機,排程應用系統,對使用者多樣化和個性化的需求進行智慧引導。
圖1 使用者行為資料視覺化
審視當下暢想未來,隨著雲端計算的興起和成熟以及智慧移動裝置的普及,電子商務與這兩者深度結合,必將引起一場激動人心的變革。各種裝置上的線上商城將是主流的商業模式,目前分類式的購物體驗平臺將演變成一個高度整合以使用者為中心的全流程價值互動體驗雲平臺。該雲平臺有四大核心組成部分,環環相扣形成一個閉環(圖2)。
圖2 全流程價值互動體驗雲平臺
通過雲屏(TouchApp),打造流連忘返的體驗;
通過雲網(DataLink),提供隨時隨地的服務;
通過雲芯(FansTree),進行細緻入微的洞察;
通過雲播(Broadcast),推送引人入勝的營銷。
相關文章
- 快取系統穩定性 - 架構師峰會演講實錄快取架構
- 電商系統架構總結2(Redis)架構Redis
- 電商系統架構總結1(EF)架構
- 電商系統架構總結4(webapi 版本控制)架構WebAPI
- 電商系統架構總結3(webapi授權機制)架構WebAPI
- 電商網站秒殺與搶購的系統架構網站架構
- 理解分散式系統中的快取架構(下)分散式快取架構
- 理解分散式系統中的快取架構(上)分散式快取架構
- 廣告電商系統開發和系統架構分析系列(第一章)架構
- 億級流量電商詳情頁系統的大型高併發與高可用快取架構實戰快取架構
- 千萬級架構設計訣竅架構
- Android系統架構-----Android的系統體系架構Android架構
- 電商架構淺析架構
- 競拍秒購電商系統開發需求和功能架構分析架構
- 大型分散式電商系統架構如何從0開始演進?分散式架構
- 系統架構設計:程式快取和快取服務,如何抉擇?架構快取
- 廣告系統架構架構
- 安卓系統架構安卓架構
- 系統架構師架構
- 深入理解分散式系統中的快取架構(下)分散式快取架構
- 系統架構師大會:中國系統架構師的盛宴架構
- 電商架構設計-通過系統和業務拆分,遵循單一職責原則SRP,保障整個系統的可用性和穩定性架構
- 廣告電商系統開發和模式架構分析之會員系統模組(第二章)模式架構
- Java進階專題(十八) 系統快取架構設計 (下)Java快取架構
- Java進階專題(十七) 系統快取架構設計 (上)Java快取架構
- FACEBOOK 的系統架構架構
- Tomcat系統架構Tomcat架構
- IOS的系統架構iOS架構
- 系統架構演變架構
- 資訊系統架構架構
- 微服務架構開發電商系統需要用Redis、ES和MQ嗎?微服務架構RedisMQ
- 大型分散式電商系統架構是如何從0開始演進的?分散式架構
- HDFS架構指南(分散式系統Hadoop的檔案系統架構)架構分散式Hadoop
- 微信小程式大型系統架構中應用Redis快取要點微信小程式架構Redis快取
- SaaS架構:多租戶系統架構設計架構
- SaaS架構:中央庫存系統架構設計架構
- Feed流系統重構-架構篇架構
- 面向模式構建系統架構 (轉)模式架構