很多網站早期都是基于Linux+Apache+MySQL+PHP架構的網站,從當時來看,這種非常流行的個人網站架構的確也非常匹配當時的發展狀態。PHP語言的特性是快速發布,從頁面渲染到數據庫訪問,均可以在一個頁面里全部搞定。
即使放到今天,這種架構仍然還有很多人在用,它的優點就是非常簡單高效,但缺點也非常明顯:擴展性和分布式不好,不適合企業級的、復雜業務邏輯的大規模協同開發。
隨著網站的發展,大家覺得應該將PHP切換到Java。為什么要切換到Java語言呢?一般來說,企業選擇開發語言會有如下考慮。
(1)語言本身的特性。每種語言開發出來都有它的特性和所適合的場景,像Python、PHP這類腳本語言非常適合快速簡單的開發方式,而Java則比較適合構建復雜業務邏輯的企業級開發,但是開發效率會比PHP要差一點。
(2)程序員隊伍。企業選擇何種開發語言,還要看市場上的人才隊伍是不是足夠大,是不是有很高層次的人才。是否有高層次的人才,取決于當前的行業老大是不是也在用這種語言,比如當前的頂級互聯網公司如果在用Java,那么自然這些公司的Java人才比較多,這樣,他們的經驗可以被快速復制到其他公司中。
(3)語言所對應的工具生態是否完善。一個語言是否有生命力,要看這個語言對應的生態工具是否完善,它的社區是否活躍。我們要用到各種工具,而我們也不可能自己去寫每種工具,因此,是否能方便地利用開源工具,快速提升開發效率也是非常關鍵的。像現在很多大公司開源了很多Java的中間件產品,這些中間件可以直接拿來使用,就不需要再重新開發了。
綜合以上因素,電商深圳網站建設選擇Java語言作為主要的系統開發語言是非常合適的。從PHP切換到Java后,整個網站采用WebX+EJB+iBatis+JBoss+Oracle (后面又將EJB改成Spring)的架構,但是隨著業務量的不斷增大,存儲層的瓶頸暴露出來。為了解決存儲問題,就逐漸用上了非常昂貴的IBM小型機Oracle的數據庫以及EMC的高端存儲(IOE);并對數據庫做了分庫的拆分,分布式緩存( Tair)也隨之誕生,分布式文件系統TFS開始出現,CDN也慢慢建立了。