這幾天有些朋友問我關於電商系統架構相關的問題,雖然這兩年已經不幹電商了,但是還是要把之前的關於電商相關的文章重新整理一遍。供大家參考。(ps:架構簡單,大家莫笑!)
又是一年年底了,這一年,從傳統軟體行業進入到電商企業,算是一次轉行了吧。剛開始,覺得電商網站沒有什麼技術含量,也沒有什麼門檻,都是一些現有的東西堆積木似的堆出來而已。然而,真正進入到這個行業之後,才發現並不是這樣。記得有人說過,好的架構,是演化出來的。電商網站的架構也是如此,現在牛逼的電商網站,看似很複雜,很牛逼,其實也是從很小的架構,也是從沒什麼技術含量開始的。架構的演化過程,就是在技術團隊,不斷追求極致的過程。
今天就來總結總結小型電商網站的架構,一套電商系統最初期的架構,往往會採用一個比較典型的LAMP架構,前端加上Apache/PHP,後端是MySQL。這個算是比較流行的。不過,目前還有一套.net 的技術架構,可能大家很少提到。很不幸,我就是在一個.net 平臺為基礎的電商公司。所以,今天也是要總結.net 平臺的電商架構。
1. 技術架構
一般,初期的電商網站,基本就幾個業務子系統,網站前臺,商家前臺,系統管理後臺,App,M站等。業務量,也不是很大。所以,mvc + 快取 + 資料庫 。基本就搞定了。
其實,單就開發效率而言,.net mvc 的技術架構不會比LAMP 開發速度慢。所以,一些企業,為了快速推出自己的電商平臺,也會採用.net 架構。
2. 基礎架構基礎架構層面。這是一個很簡單的基礎架構了。
1. 前端網站和M站,考慮到訪問量和系統的可用性,基本會採用分散式部署。通過代理伺服器進行請求分發。
2. 其他的業務子系統,像商家前臺,和管理系統,基本上都是單機或是主從部署。
3. 各個DB ,Redis 服務和 檔案和圖片服務,搜尋引擎Solr服務等,採用主從部署。
3. 詳細架構
整個系統架構裡面,還有一個比較重要的組成部分,那就是監控系統。例如:流量監控,硬體監控,系統性能監控等, 還有就是對某個頁面進行監控,設定頁面的其中一塊進行監控等。它是提高整個平臺可用性的一個重要手段,多平臺,多個維度的監控,能夠確保系統的可用性,一旦出現異常,特別在硬體或者效能方面出現異常,監控系統也能立刻發出警告,這樣也好防範於未然。
總而言之,一個好的系統架構應該從擴充套件性、安全性、效能和可靠性來考慮。羅馬不是一天建成的,架構適合就行,可以先行之而後優。通過漸進演化的過程,逐步是系統越來越完善。