目錄html
咱們在全世界發佈網站本質就是向全世界分發咱們的信息給客戶/潛在客戶,而後但願促成生意。前端
先說一個比喻,這個就是個人指導思想:若是咱們的村子須要水,咱們怎樣爲村子提供水?一種是天天派人去挑水,另外一種時修建一個給水系統。其實兩種方式都有優劣,無所謂好壞,但我但願像後者那樣去作事,由於你挑水,一天和10年沒有區別,但創建系統則有質的改變。咱們去一個一個寫單個網站,就是在天天挑水;去搭建一個信息分發系統則就是在創建給水系統。web
CDN:消息分發網絡,用戶訪問咱們的網站每每不是訪問的源碼站,由於用戶在全世界各地,而網站只部署在一個地方,那就會出現訪問異常地慢甚至致使請求超時沒法訪問。而是在全世界各地創建邊緣服務器,而後將數據緩存在邊緣服務器,這樣用戶就能就近訪問,速度就會很是地快,好比隨便何時什麼地方輸入baidu.com速度都很快,那就是百度在全國全世界都部署了大量服務器。這個能夠不須要本身部署,能夠去熟悉公共CDN,使用Akamai、阿里CDN等商業CDN就能搞定,價格也不貴( https://www.akamai.com/cn/zh/ )。docker
web server:每個網站都是咱們部署地一臺網頁服務器,用戶向咱們地網頁服務器發起請求,咱們把數據回覆給它,而後瀏覽器解析呈現。部署服務器,咱們能夠使用docker 容器來批量部署,就是根據不一樣地區不一樣內容分類部署多個服務器,而且每個站點都部署多個這樣任何一個出現宕機網絡問題等不可用時,都能保證用戶能正常訪問咱們地網站。docker容器部署很是方便,成本也很低。數據庫
網頁模板:前端展現的網頁,使用模板來完成,找開源模板來用熟悉而後本身修改並格式化來方便咱們填充數據。從本質上講,用戶在網頁上看到的東西就是兩個:樣式+數據。樣式就是各類展示樣式方便用戶獲取數據,數據纔是用戶要獲取的。寫網頁模板的思路就是將樣式與數據分離,樣式寫好,模板拿來複用,裏面的數據纔是決定咱們展現的內容。
瀏覽器
找開源模板的緣由就是:能夠獲取文檔和源碼,這樣能很方便改,去找別人的網站呈現出來的反過來改每每效果差很遠特別是須要與Java後臺代碼對接緩存
4.Admin後臺:後臺是咱們系統的直接展現點,由於從管理員來講使用的就是admin系統,其餘的模塊均可以不用關係,只須要讓運維去負責維護就好了。若是要修改網站的信息,好比更新商品的數據,就在admin系統上修改數據庫裏的數據,而後數據推送到CDN緩存,前端頁面數據刷新就完成了修改,也就是當網頁模板定義好後,就不再須要去修改網頁,直接修改後臺數據就修改網頁了。好比,我本身練習的商城項目後臺( http://120.27.227.49:8080 )就是如此:服務器
同時Admin也負責對數據整理分析,這些都是能夠使用模板完成,好比:( https://adminlte.io/themes/AdminLTE/index2.html )對,個人項目就是直接使用的這個開源模板
網絡
5.Application Server:服務監控,如此多的服務和主機若是出現問題,怎麼處理,同時管理這麼多的主機也不可能,一臺一臺去管理。同時若是咱們要加入新的網站怎麼辦。辦法就是整個系統使用Java EE框架 Spring Cloud 微服務方式開發,這樣能很是好的實現服務的治理和擴展。當咱們須要增長網站時就只須要在數據庫裏添加數據,而後使用模板生成容器數據部署到新的docker容器了並註冊到Spring Cloud中。這一切都不須要再去寫網頁。
框架