分佈式應用程序結構簡單理解

 

    應用程序設計的一個關鍵要素是系統結構,系統結構決定了應用程序的各個部分如何進行交互,同時也決定了每個部分實現的功能。在這個基於網絡的環境中,通常在分佈式環境中創建應用程序。實際上,Web系統是很好的分佈式應用程序。

    分佈式應用程序利用多臺機器的資源及許多進程的空間,把應用程序分成更易管理的任務組,這些任務組能在各種不同的結構下進行部署。把應用程序分成很多組有許多好處,最直接的就是可以重複使、擴充和管理。

1、分層應用程序

    分層應用程序可以按層數進行劃分,信息可以從數據層(通常存儲在數據庫)傳送到表現層(顯示在客戶端上)。通常每層相對於其他層來說都運行在不同的系統中,或者在同一系統中的不同進程空間裏。

 1)、兩層應用程序(客戶端/服務端)

    先舉例簡單描述一下兩層的客戶端/服務器結構。典型的結構是一個客戶端的用戶PC(前端)和一個包含數據庫的網絡服務器(後端),邏輯上根據兩者的物理位置劃分。通常客戶端包含大部分業務邏輯,隨着數據庫及存儲過程的發展,SQL語言允許業務邏輯在數據庫服務器中存儲並執行。

 

 

  雖然兩層應用程序有很大的市場空間,但是它本身存在了很多的侷限性。

    當一個小企業僅僅需要和使用一個簡單的數據源時,這種兩層方案會運行的很好。但是大多數企業的業務目標在不斷增長,數據源的需求也要相應的增大,這就需要數據庫的數據處理性能要提高。這種兩層方案的系統在大數據量的處理時,性能很難再提高,這就有了一個在使用上的侷限性。

  還有一點,如果在企業在臨時的業務改變的情況下,需要改變系統的相應的功能,這時由於兩層應用程序的固定性,應用系統就必須重建並重新配置。

    如果兩層應用程序的數據庫併發連接數過大,將會很大程度的降低應用程序的執行效率。

2、三層和N層應用程序

   由於兩層應用程序即客戶端/服務器端結構的功能限制,分佈式應用程序通常分爲三層或者更多層。每層的組件都執行一個特定類型的處理,但目前最常用的是三層應用程序結構。在三層應用程序中,包含一個用戶服務層(表現層),一個業務服務層和一個數據服務層。

    三層結構和傳統的二層客戶端/服務器結構的主要區別就是在三層體系內,業務邏輯層從用戶界面和數據源中分離出來。

把應用程序劃分成獨立的層或部分能減小整個應用程序的複雜性,並且使應用程序能夠更好的擴展,跟得上企業發展的需要。

 

三層應用程序不能直接訪問數據存儲系統,它必須要通過中間的業務邏輯處理程序來訪問數據存儲系統。

 

 

 

 

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