共用方式為


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 封裝隨附於 ClientServer 封裝中。

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.SerializationSystem.Text.Json 整合。
Microsoft.Orleans.Serialization.FSharp Microsoft.Orleans.Serialization 的 F# 核心類型支援。
Microsoft.Orleans.Serialization.NewtonsoftJson Microsoft.Orleans.SerializationNewtonsoft.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 中做為角色啟動工作的一部分執行。