又是一年年末了,這一年,從傳統軟件行業進入到電商企業,算是一次轉行了吧。剛開始,以爲電商網站沒有什麼技術含量,也沒有什麼門檻,都是一些現有的東西堆積木似的堆出來而已。然而,真正進入到這個行業以後,才發現並非這樣。記得有人說過,好的架構,是演化出來的。電商網站的架構也是如此,如今牛逼的電商網站,看似很複雜,很牛逼,其實也是從很小的架構,也是從沒什麼技術含量開始的。架構的演化過程,就是在技術團隊,不斷追求極致的過程。前端
今天就來總結總結小型電商網站的架構,一套電商系統最初期的架構,每每會採用一個比較典型的LAMP架構,前端加上Apache/PHP,後端是MySQL。這個算是比較流行的。不過,目前還有一套.net 的技術架構,可能你們不多提到。很不幸,我就是在一個.net 平臺爲基礎的電商公司。因此,今天也是要總結.net 平臺的電商架構。數據庫
1. 技術架構後端
通常,初期的電商網站,基本就幾個業務子系統,網站前臺,商家前臺,系統管理後臺,App,M站等。業務量,也不是很大。因此,mvc + 緩存 + 數據庫 。基本就搞定了。緩存
其實,單就開發效率而言,.net mvc 的技術架構不會比LAMP 開發速度慢。因此,一些企業,爲了快速推出本身的電商平臺,也會採用.net 架構。安全
2. 基礎架構服務器
基礎架構層面。這是一個很簡單的基礎架構了。架構
1. 前端網站和M站,考慮到訪問量和系統的可用性,基本會採用分佈式部署。經過代理服務器進行請求分發。mvc
2. 其餘的業務子系統,像商家前臺,和管理系統,基本上都是單機或是主從部署。分佈式
3. 各個DB ,Redis 服務和 文件和圖片服務,搜索引擎Solr服務等,採用主從部署。性能
3. 詳細架構
整個系統架構裏面,還有一個比較重要的組成部分,那就是監控系統。例如:流量監控,硬件監控,系統性能監控等, 還有就是對某個頁面進行監控,設置頁面的其中一塊進行監控等。它是提升整個平臺可用性的一個重要手段,多平臺,多個維度的監控,可以確保系統的可用性,一旦出現異常,特別在硬件或者性能方面出現異常,監控系統也能馬上發出警告,這樣也好防範於未然。
總而言之,一個好的系統架構應該從擴展性、安全性、性能和可靠性來考慮。羅馬不是一天建成的,架構適合就行,能夠先行之然後優。經過漸進演化的過程,逐步是系統愈來愈完善。