天天看點

03Web伺服器基礎-3. 系統結構分析之C/S和B/S

一、C/S(Client Server)兩層架構

1、C/S解析:

C是英文單詞“Client”的首字母,即用戶端的意思,S是英文單詞“Server”的首字母,即伺服器的意思;C/S就是“Client/Server”的縮寫,即“用戶端/伺服器”模式。

2、兩層架構分别是:

第一層:用戶端——表示層(界面層與邏輯層)

第二層:伺服器模式——資料庫層

3、C/S架構流程:

客戶機——經過(Request)請求——伺服器(即資料庫)——資料庫根據客戶機的請求——進一步(Response)響應回去給客戶機

在這裡插入圖檔描述

4、C/S概念:

C/S結構是一種軟體系統體系結構,這種結構是将需要處理的業務合理地配置設定到用戶端和伺服器端,這樣可以大大降低通信成本,但是更新維護相對困難。比如我們手機中安裝的微信、qq、王者榮耀等應用程式就是C/S結構。

二、B/S(Browser Server)三層架構

1、B/S解析:

B是英文單詞“Browser”的首字母,即浏覽器的意思;S是英文單詞“Server”的首字母,即伺服器的意思。B/S就是“Browser/Server”的縮寫,即“浏覽器/伺服器”模式。

2、三層架構分别有:

第一層表現層:主要完成使用者和背景的互動及最終查詢結果的輸出功能;

第二層邏輯層:主要是利用伺服器完成用戶端的應用邏輯功能;

第三層資料層:主要是接受用戶端請求後獨立進行各種運算。

3、B/S架構的三種形式:

第一種:用戶端—伺服器—資料庫(常用模式)

(1)用戶端向伺服器發起Http請求

(2)伺服器中的web服務層能夠處理Http請求

(3)伺服器中的應用層部分調用業務邏輯,調用業務邏輯上的方法

(4)如果有必要,伺服器會和資料庫進行資料交換. 然後将模版+資料渲染成最終的Html, 返送給用戶端

第二種:用戶端—Web伺服器—應用伺服器—資料庫

類似于第一種方法,隻是将web服務和應用服務解耦

(1)用戶端向web伺服器發起Http請求

(2)web服務能夠處理Http請求,并且調用應用伺服器暴露在外的RESTFUL接口

(3)應用伺服器的RESTFUL接口被調用,會執行對應的暴露方法.如果有必要和資料庫進行資料互動,應用伺服器會和資料庫進行互動後,将json資料傳回給web伺服器

(4)web伺服器将模版+資料組合渲染成html傳回給用戶端

第三種:用戶端—負載均衡器—中間伺服器—應用伺服器—資料庫

這種模式一般用在有大量的使用者,高并發的應用中

(1)整正暴露在外的不是真正web伺服器的位址,而是負載均衡器器的位址

(2)客戶向負載均衡器發起Http請求

(3)負載均衡器能夠将用戶端的Http請求均勻的轉發給Node伺服器叢集

(4)Node伺服器接收到Http請求之後,能夠對其進行解析,并且能夠調用應用伺服器暴露在外的RESTFUL接口

(5)應用伺服器的RESTFUL接口被調用,會執行對應的暴露方法.如果有必要和資料庫進行資料互動,應用伺服器會和資料庫進行互動後,将json資料傳回給Node

(6)Node層将模版+資料組合渲染成html傳回反向代理伺服器

(7)反向代理伺服器将對應html傳回給用戶端