《.NET分布式應用程式開》讀書筆記 第一章:理解分布式架構

來源:互聯網
上載者:User

一:何謂分布式?

首先,分布式應用的執行通常將會在幾個電腦上完成。這是它和“單機版”應用程式的主要區別。總結的來說,分布式應用的主要目標就是為了提高系經的整體效能和延展性。它可以避免當Client大量增加時,所帶來的效能瓶頸和擴充問題。通過並行地增加物理的Server電腦,來服務更多的Client.

 

二:採用分布式的原因有哪些?

  • 將運行在不同環境,作業系統和平台上的程式整合起來。這就是Xml Service的設計初衷,也是ADO.NET採用XML標準的原因。
  • 在多個用戶端之間提供同步或線上通訊的功能(比如:聊天伺服器)
  • 支援瘦用戶端(如:手持功能或只有IE的用戶端),因為它們的運算和執行能力非常有限。這時伺服器將完成大部分的計算工作。

 

三:除了分層外,分布式應用的特點有哪些?

分層的程式,不一定就是分布式的,因為分層有物理和邏輯上之分。除了物理上進行分層,分布式應用還有如下特點:

  • 基於組件的代碼重用
  • 將代碼邏輯分為業務對象(BO)和Data Access Objects (DO)
  • 多線程
  • 斷開的串連,無狀態的資料
  • 事務性的編程

為一個分布式應用的樣本圖:

 

四:分成式應用程式的優勢在哪?

  1. 延展性,可以說是分布式應用的最大亮點,只要需要,新的電腦可以新容易地加入到現在的系統當中,而不需要做特別的處理。穩定性也是其一大特點之一,如是你使用群集,其中一台電腦的問題不會影響整個系統,因為系統中其他的Server可以照常服務用戶端。
  2. 還有比如,串連池,對象池,即時啟用等特點,都是以前的C/S程式所不能比的。

 

五:.NET中分布式所採用的技術

  • .NET Remting,就Dcom有替代者。如果你在編寫一個區域網路的應用程式,這將是最好的選擇,因為使用TCP串連,效能很高,而且配置也很靈活。使用.NET Remoting,你保持遠程對象的狀態,或開發P2P的程式。注意:.NET Remoting不能做Load-Balancing。下面為.NET Remoting應用程式的一個樣本。每個用戶端在伺服器上都有持有一個單獨的對象:

  • XML Web Services,也許是.NET最著稱的特點吧。它有如下特點:
    • 是跨平台,跨語言的。.NET可以調用Java的WS,反過來也一樣。
    • 專門在Web上用的。網上有各種各樣的WS,提供各種不同的功能,如股票行情,天氣預計等等,都可以通過WS調用。
    • 容易開發,就像開發普通的類和方法一樣。
    • 使用Soap互動資訊。為Web Service應用的一個樣本:

  • DCom/COM+,在.NET中有新的名字:Enterprise Service(企業服務),其實本質是一樣的。因為.NET 2.0後有了Remoting和WCF及Web Servcie,COM+現在很少人用。但它提供的一些進階特性,在一些情況下,還是很好的選擇,如分散式交易,訊息佇列,對象池,JIT啟用。最主要的一點是,它支援Load-Balancing和安全配置。在域環境或多種開發語言整合時,能派上用場。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.