.NET .NET Aspire 整合概觀
.NET Aspire 整合是一套精選的 NuGet 套件,可協助整合雲端原生應用程式與突出服務和平臺,例如 Redis 和 PostgreSQL。 每個整合都會透過自動布建或標準化的組態模式,提供基本的雲端原生功能。
提示
一律努力使用最新版本的 .NET.NET Aspire 整合,以利用最新的功能、改進和安全性更新。
整合責任
大部分 .NET.NET Aspire 整合是由兩個不同的連結庫所組成,每個連結庫都有不同的責任。 一種類型資源存在於 應用主機 專案中,稱為 主機整合。 另一種整合類型代表 client 函式庫,這些函式庫會連接到由裝載整合建模的資源,稱為 client 整合。
主機代管整合
裝載整合會藉由布建資源(例如容器或雲端資源)或指向現有的實例來設定應用程式(例如本機 SQL server)。 這些套件會建立各種服務、平臺或功能模型,包括快取、資料庫、記錄、記憶體和傳訊系統。
裝載整合會擴充 IDistributedApplicationBuilder 介面,讓 應用程式主機 專案能夠在其 應用程式模型中表示資源。 官方 主機整合 NuGet 套件 會以 aspire
、integration
和 hosting
標記。 除了官方的主機託管整合外,社群還為各種服務和平臺建立了託管整合,這是社群工具包的一部分。
如需有關創建自定義 裝載整合的詳細資訊,請參閱 創建自定義 .NET.NET Aspire 裝載整合。
Client 整合
Client 整合 client 連結庫,以 相依性插入、定義組態架構,以及新增 健康情況檢查、復原,以及 遙測。
.NET Aspire
client 整合函式庫會以 Aspire.
為前綴,然後包含完整的整合套件名稱,例如 Aspire.StackExchange.Redis
。
這些套件會配置現有的 client 程式庫,以連接到主機整合。 它們會擴充 IHostApplicationBuilder 介面,讓消耗 client的專案,例如網路應用或 API,使用連線的資源。 官方 client 整合 NuGet 套件 會以 aspire
、integration
和 client
標記。 除了官方的 client 整合之外,社群還為各種服務和平臺建立了 client 整合,作為社群工具組的一部分。
如需有關自定義 client 整合的更多資訊,請參閱 如何建立 .NET Aspireclient 自定義整合。
主機托管與 client 整合之間的關聯性
主機托管和 client 整合最適合搭配使用,但 不會 耦合,也可以分開使用。 有些主機整合沒有對應的 client 整合。 設定是使主機整合與 client 整合共同運作的關鍵。
請考慮下列圖示,說明主機代管與 client 整合之間的關係:
應用程式宿主專案是用來執行託管整合的地方。 配置,尤其是環境變數,會注入專案、可執行檔和容器,讓 client 整合連線到宿主整合。
整合功能
當您將 client 整合加入到 .NET Aspire 解決方案中的專案時,服務預設 會自動應用於該專案;這意味著會引用服務預設值專案並呼叫 AddServiceDefaults
擴充方法。 這些預設值是設計成在大部分情況下都能正常運作,而且可以視需要自定義。 套用下列服務預設值:
可檢視性和遙測:自動設定記錄、追蹤和計量組態:
健康情況檢查:公開 HTTP 端點以提供應用程式的基本可用性和狀態資訊。 健康情況檢查可用來影響容器協調器、負載平衡器、API 閘道和其他管理服務所做的決策。
復原:系統能夠 react 失敗,但仍保持運作。 復原延伸超過防止失敗的範圍,包括復原和重新建構雲端原生環境回到狀況良好的狀態。
官方整合
.NET .NET Aspire 提供許多整合,可協助您建置雲端原生應用程式。 這些整合功能的設計目的是與 .NET Aspire 應用程式主機和 client 程式庫順暢結合運作。 下列各節詳述與雲端無關、Azure特定、Amazon Web Services (AWS) 和 Community Toolkit 整合。
與雲端無關的整合
下一節詳細說明與各自檔與 NuGet 套件連結的雲端無關 .NET.NET Aspire 整合,並提供每個整合的簡短描述。
如需在 Visual Studio中使用 .NET Aspire 整合功能的詳細資訊,請參閱 Visual Studio 工具。
Azure 整合
Azure 整合會將應用程式設定為使用 Azure 資源。 這些主機整合可在 Aspire.Hosting.Azure.*
NuGet 套件中使用,而它們的 client 整合可在 Aspire.*
NuGet 套件中使用:
Amazon Web Services (AWS) 主機代管服務整合
整合文件與 NuGet 套件 | 描述 |
---|---|
-
深入瞭解:📄 AWS 主機代管 - 託管:📦Aspire.託管.AWS - Client:不適用 |
用於建模 AWS 資源的程式庫。 |
如需詳細資訊,請參閱 GitHub:Aspire。Hosting.AWS 連結庫。
Community Toolkit 整合
注意
社群工具組整合是由 .NET.NET Aspire 社群所驅動和維護。 .NET .NET Aspire 小組未正式支持這些整合。
如需詳細資訊,請參閱 .NET.NET Aspire Community Toolkit。