標籤:web伺服器 mysql server 圖片 電商
1.為什麼需要vainish或者memcached緩衝?
·快取服務器把資料存在記憶體中,http或者mysql伺服器是把資料存在硬碟上
·從記憶體中讀取資料比從硬碟中讀取資料快
·使用者發來一個請求查看圖片,快取服務器線查看本地有沒有,如果有直接返回給客戶,如果沒有就去http伺服器去找,然後儲存在本地記憶體中一份,再返回給客戶一份
2.nginx和apache怎麼處理php動態網頁面?
Apache用mod_php模組處理
Nginx用FastCGI處理
3.各節點的作用
·nginx作為反向 Proxy:使用者訪問動態內容時分發到apache,訪問靜態內容時分到到nginx
·varnish:收到使用者請求,如果快取服務器裡沒有,就到web伺服器中去找,然後先儲存在本機伺服器,再返回給客戶
·rabbitmq訊息佇列:比如有4000個請求進來,rabbitmq伺服器全部緩衝起來,根據real server的處理能力來分配。
·HAproxy負載平衡:給apache real server做負載平衡,可以設定每個apache最多處理多少個請求(比如500)。4000個請求進來,haproxy設定每個real server最多處理500個,rabbitmq配合haproxy,讓後端real server一直到處理完位置
·memcached:快取資料庫
·mysql-proxy:給mysql做讀寫分離,如果是讀就轉給讀庫,如果是寫就轉給寫庫
·lvs:給mysql讀庫做負載平衡
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/71/AE/wKiom1XWnNigKKOLAAMYUQuxX08488.jpg" title="架構圖.jpg" alt="wKiom1XWnNigKKOLAAMYUQuxX08488.jpg" />
架構流程:
使用者輸入一個網址,經過DNS解析出IP地址,到達企業防火牆,如果訪問的是動態內容,到varnish快取服務器,如果,到rabbitmq訊息佇列,到haproxy根據演算法交給一台apache real server處理,web伺服器串連mysql-proxy如果是寫交給寫庫,如果是讀庫交給lvs,lvs根據演算法找到一台資料庫,資料庫把內容交給web伺服器,web伺服器在返回給客戶
電商架構設計初步(待完善!!!)