大型網站架構系列:電商網站架構案例(3)
本文章是電商網站架構案例的第三篇,主要介紹資料庫叢集,讀寫分離,分庫分表,服務化,訊息佇列的使用,以及本電商案例的架構總結。
6.5資料庫叢集(讀寫分離,分庫分表)
大型網站需要儲存海量的資料,為達到海量資料儲存,高可用,高效能一般採用冗餘的方式進行系統設計。一般有兩種方式讀寫分離和分庫分表。
讀寫分離:一般解決讀比例遠大於寫比例的場景,可採用一主一備,一主多備或多主多備方式。
本案例在業務拆分的基礎上,結合分庫分表和讀寫分離。如下圖:
(1) 業務拆分後:每個子系統需要單獨的庫;
(2) 如果單獨的庫太大,可以根據業務特性,進行再次分庫,比如商品分類庫,產品庫;
(3) 分庫後,如果表中有資料量很大的,則進行分表,一般可以按照Id,時間等進行分表;(高階的用法是一致性Hash)
(4) 在分庫,分表的基礎上,進行讀寫分離;
相關中介軟體可參考Cobar(阿里,目前已不在維護),TDDL(阿里),Atlas(奇虎360),MyCat(在Cobar基礎上,國內很多牛人,號稱國內第一開源專案)。
分庫分表後序列的問題,JOIN,事務的問題,會在分庫分表主題分享中,介紹。
6.6服務化
將多個子系統公用的功能/模組,進行抽取,作為公用服務使用。比如本案例的會員子系統就可以抽取為公用的服務。
6.7訊息佇列
訊息佇列可以解決子系統/模組之間的耦合,實現非同步,高可用,高效能的系統。是分散式系統的標準配置。本案例中,訊息佇列主要應用在購物,配送環節。
(1) 使用者下單後,寫入訊息佇列,後直接返回客戶端;
(2) 庫存子系統:讀取訊息佇列資訊,完成減庫存;
(3) 配送子系統:讀取訊息佇列資訊,進行配送;
目前使用較多的MQ有Active MQ,Rabbit MQ,Zero MQ,MS MQ等,需要根據具體的業務場景進行選擇。建議可以研究下Rabbit MQ。
6.8其他架構(技術)
除了以上介紹的業務拆分,應用叢集,多級快取,單點登入,資料庫叢集,服務化,訊息佇列外。還有CDN,反向代理,分散式檔案系統,大資料處理等系統。
此處不詳細介紹,大家可以問度娘/Google,有機會的話也可以分享給大家。
七、架構總結
以上是本次分享的架構總結,其中細節可參考前面分享的內容。其中還有很多可以優化和細化的地方,因為是案例分享,主要針對重要部分做了介紹,工作中需要大家根據具體的業務場景進行架構設計。
以上是電商網站架構案例的分享一共有三篇,從電商網站的需求,到單機架構,逐步演變為常用的,可供參考的分散式架構的原型。除具備功能需求外,還具備一定的高效能,高可用,可伸縮,可擴充套件等非功能質量需求(架構目標)。
關於負載均衡,業務拆分,叢集架構,讀寫分離,分庫分表,服務化,訊息佇列等常用技術和架構實現,本部落格將會推出系列文章,進行介紹。歡迎小夥伴們圍觀。
分享是快樂的,也是個人成長的過程。文章一般是自己的學習總結,工作經驗,不足之處在所難免,請大家指正,共同進步。建立了一個以架構為中心的KK群466097527 ,歡迎大家加入。專注大型分散式網站架構,大資料,架構模式,設計模式。
轉載:http://www.cnblogs.com/itfly8/p/5009005.html
相關文章
- 大型網站技術架構——2. 網站架構模式網站架構模式
- 大型網站技術架構(三)--架構模式網站架構模式
- 大型網站技術架構(四)--核心架構要素網站架構
- 大型網站架構模式筆記網站架構模式筆記
- 大型網站系統架構演化網站架構
- 大型網站架構之我見網站架構
- 大型網站架構演化歷程網站架構
- 《大型網站技術架構:核心原理與案例分析》讀書筆記 - 第4篇 架構師(附 大型網站架構技術一覽)網站架構筆記
- 大型網站架構利器-CDN技術網站架構
- 大型網站技術架構核心原理(1)網站架構
- 大型網站架構演化發展歷程網站架構
- 《大型網站技術架構:核心原理與案例分析》讀書筆記 - 第2篇 架構網站架構筆記
- 大型網站架構演化發展歷程 - 上網站架構
- 一張圖看懂大型網站技術架構網站架構
- 讀書筆記-大型網站技術架構筆記網站架構
- 《大型網站技術架構:核心原理與案例分析》讀書筆記 - 第3篇 案例網站架構筆記
- 網站架構設計網站架構
- 網站技術架構網站架構
- 大型分散式網站架構實戰專案分析分散式網站架構
- 《大型網站技術架構核心原理與案例分析》讀書筆記(二)網站架構筆記
- 乾貨 | 大型網站專案架構技術一覽網站架構
- 大型網站的可伸縮性架構如何設計?網站架構
- 【網站架構13/100】一步步帶你,如何網站架構網站架構
- 讀書筆記 之《軟體架構設計: 大型網站技術架構與業務架構融合之道》筆記架構網站
- 初入探秘:大型網站架構設計與方法總結網站架構
- 大型網際網路公司網站架構背後的基礎技術2019網站架構
- 大型網際網路架構概述架構
- 大型網站架構演進的五大階段盤點網站架構
- 大型網站背後的高效能系統架構設計網站架構
- 高併發網站架構設計網站架構
- 《大型網站技術架構:核心原理與案例分析》讀書筆記 - 第1篇 概述網站架構筆記
- [譯] 多網站專案的 CSS 架構網站CSS架構
- 思維導圖形式帶你讀完《大型網站技術架構》上網站架構
- 思維導圖形式帶你讀完《大型網站技術架構》中網站架構
- B站公網架構實踐及演進架構
- 2024最流行的網站架構----邊緣平臺架構:概念與產品網站架構
- 大型分散式網站架構:快取在分散式系統中的應用分散式網站架構快取
- 阿里面試技術手冊(二):大型網站架構演化發展歷程阿里面試網站架構
- 常見的網站伺服器架構有哪些?網站伺服器架構