回覆列表
  • 1 # 使用者6765375850720

    分散式應用程式就是指應用程式分佈在不同計算機上,透過網路來共同完成一項任務,通常為伺服器/客戶端模式。更廣義上理解“分佈”,不只是應用程式,還包括資料庫等,分佈在不同計算機,完成同一個任務。之所以要把一個應用程式分佈在不同的計算機上,主要有兩個目的:

    1) 分散伺服器的壓力

    大型系統中,模組眾多,併發量大,僅用一個伺服器承載往往會發生壓力過大而導致系統癱瘓的情況。可以在橫向和縱向兩方面來進行拆分,把這些模組部署到不同的伺服器上。這樣整個系統的壓力就分佈到了不同的伺服器上。

    l 橫向:按功能劃分。

    l 縱向:N層架構,其中的一些層分佈到不同的伺服器上(分層的概念會在後文進行介紹)。

    2) 提供服務,功能重用

    使用服務進行功能重用比使用元件進行程式碼重用更進一層。舉例來說,如果在一個系統中的三個模組都需要用到報表功能,一種方法是把報表功能做成一個單獨的元件,然後讓三個模組都引用這個元件,計算操作由三個模組各自進行;另一種方法是把報表功能做成單獨的服務,讓這三個模組直接使用這個服務來獲取資料,所有的計算操作都在一處進行,很明顯後者的方案會比前者好得多。

    服務不僅能對內提供還能對外提供,如果其他合作伙伴需要使用我們的報表服務,我們又不想直接把所有的資訊都公開給它們。在這種情況下元件方式就不是很合理了,透過公開服務並對服務的使用方做授權和驗證,那麼我們既能保證合作伙伴能得到他們需要的資料,又能保證核心的資料不公開。

  • 中秋節和大豐收的關聯?
  • 詩歌為何,詩人何為 ——讀錫德尼《為詩辯護》?