de_DEen_USes_ESfa_IRid_IDpt_PTvizh_CNzh_TW

UML部署圖:將軟件映射到基礎設施

雖然組件圖專注於代碼模塊的邏輯組織,而UML部署圖架起了通往現實的橋樑。它回答了一個關鍵問題:「這些代碼實際上運行在哪裡?」

此圖是唯一專注於物理運行環境的UML模型。它可視化軟件組件與硬件目標之間的映射關係,展示系統組件如何分布在伺服器、資料庫、移動設備和雲基礎設施中。在雲計算、微服務和物聯網時代,理解這種物理架構比以往任何時候都更加重要。

物理架構的構成

部署圖的主要目標是部署圖展示系統的物理拓撲結構——即運行其上的硬體(節點)和軟件(組件)。

1. 節點:硬體與執行環境

部署圖的基本構建單元是節點。節點代表部署組件以供執行的計算資源。它們以三維方塊(立方體)的形式呈現。

節點主要有兩種類型:

  • 設備節點: 這些代表具有處理能力的物理硬體資源。

    • 範例: 應用伺服器、資料庫伺服器、手機、物聯網感測器或負載均衡器。

  • 執行環境節點(執行環境): 這些是運行在設備節點內的基於軟件的容器,用於托管特定類型的組件。它們代表管理已部署組件的軟件層。

2. 組件:可部署的軟件

一個組件 代表軟體元件的具體實體表現。雖然「元件」是類別的邏輯群組,但「實體」是實際安裝到伺服器上的檔案。

實體通常以帶有關鍵字「」的矩形繪製«實體»或角落的小文件圖示。它們通常放置於內部節點內,以顯示它們被部署的位置。

  • 範例: user-service.jar, index.html, database-schema.sql, config.xml,或payment-api.exe.

3. 通訊路徑:連接

節點很少孤立運作。通訊路徑代表節點之間的實體連接或關聯,顯示它們如何交換資訊。

這些以連接兩個節點的實線繪製。關鍵的是,它們通常標註了樣式,以表示所使用的通訊協定或網路類型。

  • 範例: «HTTP/HTTPS», «TCP/IP», «JDBC», «RMI»,或«訊息佇列».

Communication Paths: The Connections

視覺化拓撲

典型的部署圖會講述系統執行時期結構的故事。例如,一個標準的三層式網頁應用程式可能如下所示:

  1. 客戶端層: 一個 行動裝置(節點)包含一個行動應用程式(實體)。

  2. 中介層: 一個 網頁伺服器(裝置節點)主機一個Docker 容器(執行環境),其內部包含API 服務.jar(實體)。

  3. 資料層: 一個 資料庫伺服器(裝置節點)主機一個PostgreSQL實例(執行環境),負責管理使用者資料(實體)。

連接這些節點的線路會標示為«HTTPS»(在行動裝置與網頁伺服器之間)以及«JDBC»(在Web伺服器與資料庫之間)。

為什麼要使用部署圖?

部署圖對DevOps工程師、系統架構師和網路管理員而言,這些圖表是不可或缺的。

  • 部署規劃: 它們是釋放管理的最終地圖,明確指出哪些檔案需要送往哪些伺服器。

  • 效能分析: 透過視覺化處理的分佈與網路連結,架構師可以識別潛在的瓶頸(例如,單一低功率節點上過多的元件,或頻繁通訊服務之間的慢速網路連結)。

  • 安全性建模: 它們有助於識別安全風險,透過標示哪些節點暴露於外部網路(公眾網際網路)以及哪些節點位於防火牆後方隔離。

  • 基礎設施即程式碼(IaC)設計: 在現代DevOps中,這些圖表為撰寫Terraform或CloudFormation指令碼以配置雲端資源提供了概念藍圖。

如需關於UML與AI輔助視覺化的更多資訊,請參閱我們的UML資源中心.