我的第一個WEB網站架構及其數據包走向分析

先不廢話了,上圖

 

在這架構中,客戶發送第一個請求包1.該請求包的格式如下

 數據 HTTP協議(方法GET)

SIP:10.1.1.x
DIP:192.168.10.11 

 MAC

當該數據包到達Nginx服務器,如果該請求頁面爲靜態內容,則Nginx服務器直接返回應答請求數據包9;如果當該請求內容爲PHP頁面時,Nginx向Apache的分發器發送請求數據包2,該數據包格式如下:

 數據 HTTP協議(方法GET)

SIP:192.168.10.11
DIP:192.168.10.251 

 MAC

Apache的分發器得到該數據包後,通過算法進行RealServer的選擇,假設該次選擇結果爲Apache服務器1,則分發器僅數據包2的MAC地址發出數據包3,該數據包格式如下

 數據 HTTP協議(方法GET)

SIP:192.168.10.11
DIP:192.168.10.251 

 SMAC:分發器
DMAC:Apache1

當數據包3到達Apache真實服務器,該服務器對用戶請求頁面進行處理,如果該請求需要調用數據庫,Apache服務器向MySql分發器發送請求數據包4,該數據包如下:

 數據 MySql

SIP:192.168.10.21
DIP:192.168.10.252 

 MAC

當MySql分發器接收到Apache的請求數據時,通過算法確定需要使用的MySql服務器(假設爲MysqlMaster),並向MySql真實服務器發送請求,該請求包5如下:

 數據 MySql

SIP:192.168.10.252
DIP:192.168.10.31

 MAC

當MySqlMaster服務器接收到請求數據包5時,處理該請求並將得到的值打包返回MySql分發器,該數據包6(請求數據包5的迴應包)如下:

 數據 MySql

SIP:192.168.10.31
DIP:192.168.10.252

 MAC

當MySql分發器服務器得到數據包6,則將數據包6的數據重新打包併發送出來,該數據包7(請求數據包4的迴應包)的格式如下:

 數據 MySql

SIP:192.168.10.252
DIP:192.168.10.21

 MAC

當Apache真實服務器得到數據包7時,使用PHP代碼處理該包中的數據,並將最終得到的靜態頁面數據打包,返回Nginx服務器,該數據包8(請求數據包2的迴應包)的格式如下:

 數據 HTTP協議

SIP:192.168.10.251
DIP:192.168.10.11 

 MAC

Nginx服務器得到Apache返回的靜態頁面後,將該靜態頁面數據傳遞給用戶,應答數據包9(請求數據包1的應答包)如下:

 數據 HTTP協議

SIP:192.168.10.11
DIP:10.1.1.X 

 MAC

用戶計算機得到應答數據包9,將該數據包交給瀏覽器,並由瀏覽器翻譯並顯示出來!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章