Orleans NuGet 封裝
Orleans 的取用者仰賴各種 NuGet 封裝來達成特定的必要行為。 有數個常見的封裝和抽象概念,以及許多個別的單一用途套件。 本文提供深入解析,協助開發人員了解應該使用哪些 Orleans 封裝。
重要封裝
根據所選擇的工作負載,您在撰寫 Orleans 應用程式時,要參考兩個互斥 NuGet 封裝的其中一個。 例如,當您撰寫「Orleans 定址接收器」時,將會參考Microsoft.Orleans.Server NuGet 封裝。 當您撰寫 Orleans 用戶端應用程式時,將會參考 Microsoft.Orleans.Client NuGet 封裝。 所有 Orleans 專案 (例如抽象或粒紋類別庫) 都會參考 Microsoft.Orleans.Sdk NuGet 封裝。 Microsoft.Orleans.Sdk
封裝隨附於 Client
和 Server
封裝中。
NuGet 套件 | 描述 |
---|---|
Microsoft.Orleans.Client | Orleans 用戶端所需的用戶端專屬封裝。 |
Microsoft.Orleans.Sdk | 所有 Orleans 應用程式、伺服器和用戶端套件所需的中繼套件都取決於此套件。 |
Microsoft.Orleans.Server | Orleans 定址接收器所需的伺服器專屬套件。 |
如需安裝 NuGet 封裝的詳細資訊,請參閱下列選項:
裝載
NuGet 套件 | 描述 |
---|---|
Microsoft.Orleans.Hosting.AzureCloudServices | 裝載 Orleans Azure 雲端服務的公用程式。 |
Microsoft.Orleans.Hosting.Kubernetes | Orleans 裝載 Kubernetes 的支援。 |
Microsoft.Orleans.Runtime | 在定址接收器內裝載並執行粒紋的 Orleans 核心執行階段程式庫。 |
叢集提供者
NuGet 套件 | 描述 |
---|---|
Microsoft.Orleans.Clustering.AzureStorage | Azure 資料表儲存體支援的 Orleans 叢集提供者。 |
Microsoft.Orleans.Clustering.AdoNet | ADO.NET 支援的 Orleans 叢集提供者。 |
Microsoft.Orleans.Clustering.DynamoDB | AWS DynamoDB 支援的 Orleans 叢集提供者。 |
提醒提供者
NuGet 套件 | 描述 |
---|---|
Microsoft.Orleans.Reminders | 伺服器上使用的 Microsoft Orleans 提醒程式庫。 |
Microsoft.Orleans.Reminders.AzureStorage | Azure 資料表儲存體支援的 Orleans 提醒提供者。 |
Microsoft.Orleans.Reminders.AdoNet | ADO.NET 支援的 Orleans 提醒提供者。 |
Microsoft.Orleans.Reminders.DynamoDB | AWS DynamoDB 支援的 Orleans 叢集提供者。 |
粒紋儲存體提供者
NuGet 套件 | 描述 |
---|---|
Microsoft.Orleans.Persistence.AdoNet | ADO.NET 支援的 Orleans 持續性提供者。 |
Microsoft.Orleans.Persistence.AzureStorage | Azure 資料表儲存體支援的 Orleans 持續性提供者。 |
Microsoft.Orleans.Persistence.DynamoDB | AWS DynamoDB 支援的 Orleans 持續性提供者。 |
Microsoft.Orleans.Persistence.Memory | Orleans 的記憶體內部儲存體。 |
串流提供者
NuGet 套件 | 描述 |
---|---|
Microsoft.Orleans.Streaming | 用戶端和伺服器上所使用 Orleans 的串流程式庫。 |
Microsoft.Orleans.Streaming.AzureStorage | Azure 佇列儲存體支援的 Orleans 串流提供者。 |
Microsoft.Orleans.Streaming.EventHubs | Azure 事件中樞支援的 Orleans 串流提供者。 |
Microsoft.Orleans.Streaming.SQS | AWS SQS 支援的 Orleans 串流提供者。 |
其他封裝
NuGet 套件 | 描述 |
---|---|
Microsoft.Orleans.Analyzers | Orleans 的 C# 分析器。 |
Microsoft.Orleans.CodeGenerator | Microsoft.Orleans.Serialization 的程式碼產生程式庫。 |
Microsoft.Orleans.EventSourcing | 以事件來源狀態建立 Orleans 粒紋的基底類型。 |
Microsoft.Orleans.Connections.Security | 支援在 Orleans 中使用 TLS 進行安全性通訊。 |
開發與測試
NuGet 套件 | 描述 |
---|---|
Microsoft.Orleans.TestingHost | 用於在測試專案中裝載定址接收器的 Orleans 程式庫。 |
Microsoft.Orleans.Transactions.TestKit.Base | 交易的測試套件基底程式庫。 |
Microsoft.Orleans.Transactions.TestKit.xUnit | 交易的 xUnit 測試套件程式庫。 |
Microsoft.Orleans.Serialization.TestKit | 使用 Microsoft.Orleans.Serialization 的專案測試套件。 |
序列化程式
NuGet 套件 | 描述 |
---|---|
Microsoft.Orleans.Serialization | 適用於 .NET 的快速、彈性和版本容錯序列化程式。 |
Microsoft.Orleans.Serialization.Abstractions | Orleans 的序列化抽象概念。 |
Microsoft.Orleans.Serialization.SystemTextJson | Microsoft.Orleans.Serialization 的 System.Text.Json 整合。 |
Microsoft.Orleans.Serialization.FSharp | Microsoft.Orleans.Serialization 的 F# 核心類型支援。 |
Microsoft.Orleans.Serialization.NewtonsoftJson | Microsoft.Orleans.Serialization 的 Newtonsoft.Json 整合。 |
交易
NuGet 套件 | 描述 |
---|---|
Microsoft.Orleans.Transactions | 在伺服器上使用的 Orleans 核心交易程式庫。 |
Microsoft.Orleans.Transactions.AzureStorage | Azure 儲存體所支援的 Orleans 交易儲存體提供者。 |
工具
一種熱門的 Orleans 工具是 OrleansDashboard NuGet 套件。 此儀表板提供一些簡單的計量和深入解析,讓您了解 Orleans 應用程式內發生的情況。 如需詳細資訊,請參閱 GitHub:Orleans 儀表板。
重要封裝
在大部分情況下,會有 5 個您需要使用的主要 NuGet 封裝:
Orleans 核心抽象概念
Install-Package Microsoft.Orleans.Core.Abstractions
包含 Orleans.Core.Abstractions.dll,其定義開發應用程式程式碼所需的 Orleans 公用類型 (粒紋介面和類別)。 需要由任何 Orleans 專案直接或間接參考此封裝。 將其新增至定義粒紋介面和類別的專案。
Orleans 建置時間程式碼產生
Microsoft.Orleans.OrleansCodeGenerator.Build。
Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build
出現在 Orleans 1.2.0 中。 粒紋介面和實作專案的建置時間支援。 將其新增至您的粒紋介面和實作專案,以啟用粒紋參考和序列化程式的程式碼產生。
Microsoft.Orleans.CodeGenerator.MSBuild。
Install-Package Microsoft.Orleans.CodeGenerator.MSBuild
顯示為Orleans 2.1.0 的一部分。
Microsoft.Orleans.OrleansCodeGenerator.Build
封裝的替代項目。 利用 Roslyn 進行程式碼分析,以避免載入應用程式二進位檔,並改善累加組建的支援,這應該會縮短建置時間。
Orleans 伺服器程式庫
Install-Package Microsoft.Orleans.Server
用於輕鬆建置及啟動定址接收器的中繼套件。 包含下列封裝:
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansRuntime
Microsoft.Orleans.OrleansProviders
Orleans 用戶端程式庫
Install-Package Microsoft.Orleans.Client
用於輕鬆建置及啟動 Orleans 用戶端 (前端) 的中繼套件。 包含下列封裝:
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansProviders
Orleans 核心程式庫
Install-Package Microsoft.Orleans.Core
包含應用程式程式碼和 Orleans 用戶端 (前端) 所使用的大多數 Orleans 公用類型實作。 建置使用 Orleans 類型但不會處理裝載或定址接收器的程式庫和用戶端應用程式時,請加以參考。 包含在 Microsoft.Orleans.Client 和 Microsoft.Orleans.Server 中繼封裝中,並由大部分的其他封裝直接或間接參考。
裝載
Orleans 執行階段
Install-Package Microsoft.Orleans.OrleansRuntime
用於設定及啟動定址接收器的程式庫。 在定址接收器主機專案中加以參考。 包含在 Microsoft.Orleans.Server 中繼封裝中。
Orleans 執行階段抽象概念
Install-Package Microsoft.Orleans.Runtime.Abstractions
包含 Microsoft.Orleans.OrleansRuntime
中所實作類型的介面和抽象概念。
在 Azure 雲端服務上裝載 Orleans
Install-Package Microsoft.Orleans.Hosting.AzureCloudServices
包含將定址接收器和 Orleans 用戶端裝載為 Azure 雲端服務 (背景工作角色和 Web 角色) 的協助程式類別。
Orleans Service Fabric 裝載支援
Install-Package Microsoft.Orleans.Hosting.ServiceFabric
包含裝載定址接收器做為無狀態 Service Fabric 服務的協助程式類別。
叢集提供者
下列封裝包含的外掛程式可用來保存各種儲存體技術中的叢集成員資格資料。
Azure 資料表儲存體的 Orleans 叢集提供者
Install-Package Microsoft.Orleans.Clustering.AzureStorage
包含使用 Azure 資料表來儲存叢集成員資格資料的外掛程式。
ADO.NET 提供者的 Orleans 叢集提供者
Install-Package Microsoft.Orleans.Clustering.AdoNet
包含使用 ADO.NET 將叢集成員資格資料儲存在其中一個受支援資料庫中的外掛程式。
Orleans Consul 公用程式
Install-Package Microsoft.Orleans.OrleansConsulUtils
包含使用 Consul 來儲存叢集成員資格資料的外掛程式。
Orleans ZooKeeper 公用程式
Install-Package Microsoft.Orleans.OrleansZooKeeperUtils
包含使用 ZooKeeper 來儲存叢集成員資格資料的外掛程式。
AWS DynamoDB 的 Orleans 叢集提供者
Install-Package Microsoft.Orleans.Clustering.DynamoDB
包含使用 AWS DynamoDB 來儲存叢集成員資格資料的外掛程式。
提醒提供者
下列封裝包含的外掛程式可用來保存各種儲存體技術中的提醒。
Orleans 提醒 Azure 資料表儲存體
Install-Package Microsoft.Orleans.Reminders.AzureStorage
包含使用 Azure 資料表進行儲存提醒的外掛程式。
Orleans 提醒 ADO.NET 提供者
Install-Package Microsoft.Orleans.Reminders.AdoNet
包含使用 ADO.NET 將提醒儲存在其中一個受支援資料庫中的外掛程式。
AWS DynamoDB 的 Orleans 提醒
Install-Package Microsoft.Orleans.Reminders.DynamoDB
包含使用 AWS DynamoDB 進行儲存提醒的外掛程式。
粒紋儲存體提供者
下列封裝包含的外掛程式可用來保存各種儲存體技術中的粒紋狀態。
Orleans 持續性 Azure 儲存體
Install-Package Microsoft.Orleans.Persistence.AzureStorage
包含使用 Azure 資料表或 Azure Blob 來儲存粒紋狀態的外掛程式。
Orleans 持續性 ADO.NET 提供者
Install-Package Microsoft.Orleans.Persistence.AdoNet
包含使用 ADO.NET 將粒紋狀態儲存在其中一個受支援資料庫中的外掛程式。
Orleans 持續性 DynamoDB
Install-Package Microsoft.Orleans.Persistence.DynamoDB
包含使用 AWS DynamoDB 進行儲存粒紋狀態的外掛程式。
串流提供者
下列封裝包含用來傳遞串流事件的外掛程式。
Orleans ServiceBus 公用程式
Install-Package Microsoft.Orleans.OrleansServiceBus
包含 Azure 事件中樞的串流提供者。
Orleans 串流 Azure 儲存體
Install-Package Microsoft.Orleans.Streaming.AzureStorage
包含 Azure 佇列的串流提供者。
Orleans 串流 AWS SQS
Install-Package Microsoft.Orleans.Streaming.SQS
包含 AWS SQS 服務的串流提供者。
Orleans Google Cloud Platform 公用程式
Install-Package Microsoft.Orleans.OrleansGCPUtils
包含 GCP PubSub 服務的串流提供者。
其他封裝
Orleans 程式碼產生
Install-Package Microsoft.Orleans.OrleansCodeGenerator
包含執行階段程式碼產生器。
Orleans 事件來源
Install-Package Microsoft.Orleans.EventSourcing
包含一組基底類型,用於建立具有事件來源狀態的粒紋類別。
開發與測試
Orleans 提供者
Install-Package Microsoft.Orleans.OrleansProviders
包含一組持續性和串流提供者,這些提供者會將資料保留在記憶體中。 適用於測試。 一般而言,不建議用於生產環境,除非接受定址接收器失敗時的資料遺失。
Orleans 測試主機程式庫
Install-Package Microsoft.Orleans.TestingHost
在測試專案中包含裝載定址接收器和用戶端的程式庫。
序列化程式
Orleans Bond 序列化程式
Install-Package Microsoft.Orleans.Serialization.Bond
包含對 Bond 序列化程式的支援。
Orleans Google 公用程式
Install-Package Microsoft.Orleans.OrleansGoogleUtils
包含 Google 通訊協定緩衝區序列化程式。
Orleans protobuf-net 序列化程式
Install-Package Microsoft.Orleans.ProtobufNet
包含 protobuf-net 版的通訊協定緩衝區序列化程式。
遙測
Orleans 遙測取用者 - 效能計數器
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.Counters
Orleans 遙測 API 的 Windows 效能計數器實作。
Orleans 遙測取用者 - Azure Application Insights
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.AI
包含 Azure Application Insights 的遙測取用者。
Orleans 遙測取用者 - NewRelic
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
包含 NewRelic 的遙測取用者。
交易
Orleans 交易支援
Install-Package Microsoft.Orleans.Transactions
包含跨粒紋交易的支援 (Beta)。
Azure 上的 Orleans 交易
Install-Package Microsoft.Orleans.Transactions.AzureStorage
包含在 Azure 資料表中保存交易記錄的外掛程式 (Beta)。
工具
Orleans 效能計數器工具
Install-Package Microsoft.Orleans.CounterControl
包含 OrleansCounterControl.exe
,其會註冊 Orleans 統計資料、以及已部署粒紋類別的 Windows 效能計數器類別。 需要提高權限。 可在 Azure 中做為角色啟動工作的一部分執行。