B/S架構的幾種形式


1. 什么是B/S架構

  B/S架構的全稱為Browser/Server,即瀏覽器/服務器結構。Browser指的是Web瀏覽器,極少數事務邏輯在前端實現,但主要事務邏輯在服務器端實現。B/S架構的系統無須特別安裝,只有Web瀏覽器即可。其實就是我們前端現在做的一些事情,大部分的邏輯交給后台來實現,我們前端大部分是做一些數據渲染,請求等比較少的邏輯。

  B/S 架構分層。

  

  第一層表現層:主要完成用戶和后台的交互及最終查詢結果的輸出功能。

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

  第三層數據層:主要是接受客戶端請求后獨立進行各種運算

 B/S架構的優點

  1、客戶端無需安裝,有Web瀏覽器即可。

  2、BS架構可以直接放在廣域網上,通過一定的權限控制實現多客戶訪問的目的,交互性較強。
  3、BS架構無需升級多個客戶端,升級服務器即可。可以隨時更新版本,而無需用戶重新下載啊什么的。

B/S架構的缺點

  1、在跨瀏覽器上,BS架構不盡如人意。
  2、表現要達到CS程序的程度需要花費不少精力。
  3、在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題。
  4、客戶端服務器端的交互是請求-響應模式,通常需要刷新頁面,這並不是客戶樂意看到的。(在Ajax風行后此問題得到了一定程度的緩解)

2. B/S 的架構模式

  第一種 客戶端 服務器 數據庫

  

  

  1、客戶端向服務器發起Http請求

  2、服務器中的web服務層能夠處理Http請求

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

  4、如果有必要,服務器會和數據庫進行數據交換. 然后將模版+數據渲染成最終的Html, 返送給客戶端

 

第二種:客戶端-web服務器-應用服務器-數據庫

  

  1. 客戶端向web服務器發起Http請求

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

  3. 應用服務器的RESTFUL接口被調用,會執行對應的暴露方法.如果有必要和數據庫進行數據交互,應用服務器會和數據庫進行交互后,將json數據返回給web服務器

  4. web服務器將模版+數據組合渲染成html返回給客戶端

第三種方法:客戶端-負載均衡器(Nginx)-中間服務器(Node)-應用服務器-數據庫

  

   這種模式一般用在有大量的用戶,高並發的應用中

  1、整正暴露在外的不是真正web服務器的地址,而是負載均衡器器的地址

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

  3、負載均衡器能夠將客戶端的Http請求均勻的轉發給Node服務器集群

  4、Node服務器接收到Http請求之后,能夠對其進行解析,並且能夠調用應用服務器暴露在外的RESTFUL接口

  5、應用服務器的RESTFUL接口被調用,會執行對應的暴露方法.如果有必要和數據庫進行數據交互,應用服務器會和數據庫進行交互后,將json數據返回給Node

  6、Node層將模版+數據組合渲染成html返回反向代理服務器

  7、反向代理服務器將對應html返回給客戶端

  Nginx的優點有:  

  1、它能夠承受、高並發的大量的請求,然后將這些請求均勻的轉發給內部的服務器,分攤壓力.

  2、反向代理能夠解決跨域引起的問題,因為Nginx,Node,應用服務器,數據庫都處於內網段中。

  3、Nginx非常擅長處理靜態資源(img,css,js,video),所以也經常作為靜態資源服務器,也就是我們平時所說的CDN

  比如:前一個用戶訪問index.html, 經過Nginx-Node-應用服務器-數據庫鏈路之后,Nginx會把index.html返回給用戶,並且會把index.html緩存在Nginx上,

  下一個用戶再想請求index.html的時候,請求Nginx服務器,Nginx發現有index.html的緩存,於是就不用去請求Node層了,會直接將緩存的頁面(如果沒過期的話)返回給用戶。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM