1. 程式人生 > >分布式應用

分布式應用

img 技術分享 分布 性能 zook 客戶端 attach tps client

分布式應用可以在給定時間(同時)在網絡中的多個系統上運行,通過協調它們以快速有效的方式完成特定任務。通常來說,對於復雜而耗時的任務,非分布式應用(運行在單個系統中)需要幾個小時才能完成,而分布式應用通過使用所有系統涉及的計算能力可以在幾分鐘內完成。

通過將分布式應用配置為在更多系統上運行,可以進一步減少完成任務的時間。分布式應用正在運行的一組系統稱為集群,而在集群中運行的每臺機器被稱為節點

分布式應用有兩部分, Server(服務器) Client(客戶端) 應用程序。服務器應用程序實際上是分布式的,並具有通用接口,以便客戶端可以連接到集群中的任何服務器並獲得相同的結果。 客戶端應用程序是與分布式應用進行交互的工具。

技術分享圖片

分布式應用的優點

  • 可靠性 - 單個或幾個系統的故障不會使整個系統出現故障。

  • 可擴展性 - 可以在需要時增加性能,通過添加更多機器,在應用程序配置中進行微小的更改,而不會有停機時間。

  • 透明性 - 隱藏系統的復雜性,並將其顯示為單個實體/應用程序。

分布式應用的挑戰

  • 競爭條件 - 兩個或多個機器嘗試執行特定任務,實際上只需在任意給定時間由單個機器完成。例如,共享資源只能在任意給定時間由單個機器修改。

  • 死鎖 - 兩個或多個操作等待彼此無限期完成。

  • 不一致 - 數據的部分失敗。

分布式應用