
注釋:
此架構圖體現了動態網站的速度、穩定、冗余、安全等。
在速度方面,咱們做了nginx協助tomcat負載均衡,實現多用戶訪問同時處理,加快處理速度。在速度方面,咱們還做了tomcat和nginx的動靜分離,眾所周知tomcat專門處理jsp的動態界面,nginx在處理靜態界面又是比較擅長,利用這個特點,將靜態頁面和圖片專門由nginx server處理,動態頁面則由tomcat服務器處理了,一個網頁由多個服務器上的不同服務處理自己擅長的界面,速度自然而然就快很多了。
在安全方面,咱們做了nginx代理服務器,由於web服務器的重要性,咱們不能將web服務器置於被用戶直接訪問狀態,而是將web服務放於后端通過代理服務器向客戶展示訪問等。
在穩定方面,咱們做了memcached緩存系統,由於咱們做了tomcat負載均衡,在網站登錄或輸入一些重要數據時,web服務可能會轉入另一台服務器工作,即此時的登錄信息和重要數據會形成丟失狀態,無法刷新進入網站,頁面或服務等,而memcached緩存則會將這些數據暫時存放起來,即使web服務會轉走,但程序會使用memcached存起來的數據直接進入web服務繼續工作
在冗余備份這方面,咱們用了兩台nginx代理服務器,和兩台數據庫服務器,當其中正在工作的代理服務器的nginx服務down掉或服務器壞掉時,另一台隨時待命的代理服務器立即進行工作。對於數據庫服務器,數據是最重要的,咱們將兩台數據庫server做一個雙主從復制,不管哪個有新數據,另一個就會立即同步,然后利用keepalived再做冗余,正在工作的數據庫服務或server出現問題時,即能冗余實現高可用,數據也不會出現故障
也有人會說了,服務器或某個服務壞掉了,雖然咱們做了冗余,web還會做出服務,可是會降低服務質量,咱們怎么做到及時了解服務或服務器狀態而做出修復呢?此架構圖則為了這方面單獨做了一個nagios監控服務器,在服務或服務器down掉時,會通過郵件、手機信息等及時通知相關技術人員。
最后,網站必有域名,而在架構圖中,在路由器與外界互聯網連接的當口,咱們做了一個DNS域名解析服務器,專門提供客戶訪問