Orleans NuGet-Pakete
Benutzer*innen von Orleans nutzen verschiedene NuGet-Pakete für bestimmte Verhaltensweisen. Es gibt mehrere gängige Pakete und Abstraktionen sowie viele individuelle Pakete für einzelne Zwecke. In diesem Artikel erfahren Entwickler*innen, welche Orleans-Pakete verwendet werden sollten.
Schlüsselpakete
Sie verweisen beim Schreiben von Orleans-Apps je nach gewählter Workload auf eines von zwei sich gegenseitig ausschließenden NuGet-Paketen. Wenn Sie beispielsweise ein Orleans-Silo schreiben, verweisen Sie auf das NuGet-Paket Microsoft.Orleans.Server. Wenn Sie eine Orleans-Client-App schreiben, verweisen Sie auf das NuGet-Paket Microsoft.Orleans.Client. Alle Orleans-Projekte wie Abstraktionen oder Grainklassenbibliotheken verweisen auf das NuGet-Paket Microsoft.Orleans.Sdk. Das Microsoft.Orleans.Sdk
-Paket ist sowohl im Client
- als auch Server
-Paket enthalten.
NuGet-Paket | BESCHREIBUNG |
---|---|
Microsoft.Orleans.Client | Exklusives Clientpaket, erforderlich für den Orleans-Client. |
Microsoft.Orleans.Sdk | Metapakete, die für alle Orleans-Apps, Server und Clientpakete erforderlich sind, hängen von diesem Paket ab. |
Microsoft.Orleans.Server | Exklusives Serverpaket, erforderlich für Orleans-Silos. |
Informationen zum Installieren von NuGet-Paketen bieten die folgenden Optionen:
Hosting
NuGet-Paket | BESCHREIBUNG |
---|---|
Microsoft.Orleans.Hosting.AzureCloudServices | Hostingdienstprogramme für Azure Cloud Services von Orleans. |
Microsoft.Orleans.Hosting.Kubernetes | Orleans-Hostingunterstützung für Kubernetes. |
Microsoft.Orleans.Runtime | Core Runtime-Bibliothek von Orleans, die Grains in einem Silo hostet und ausführt. |
Clusteringanbieter
NuGet-Paket | BESCHREIBUNG |
---|---|
Microsoft.Orleans.Clustering.AzureStorage | Orleans-Clusteringanbieter, der von Azure Table Storage unterstützt wird. |
Microsoft.Orleans.Clustering.AdoNet | Orleans-Clusteringanbieter, der von ADO.NET unterstützt wird. |
Microsoft.Orleans.Clustering.DynamoDB | Orleans-Clusteringanbieter, der von AWS DynamoDB unterstützt wird. |
Erinnerungsanbieter
NuGet-Paket | BESCHREIBUNG |
---|---|
Microsoft.Orleans.Reminders | Erinnerungsbibliothek für Microsoft Orleans, die auf dem Server verwendet wird. |
Microsoft.Orleans.Reminders.AzureStorage | Orleans-Erinnerungsanbieter, der von Azure Table Storage unterstützt wird. |
Microsoft.Orleans.Reminders.AdoNet | Orleans-Erinnerungsanbieter, der von ADO.NET unterstützt wird. |
Microsoft.Orleans.Reminders.DynamoDB | Orleans-Erinnerungsanbieter, der von AWS DynamoDB unterstützt wird. |
Grainspeicheranbieter
NuGet-Paket | BESCHREIBUNG |
---|---|
Microsoft.Orleans.Persistence.AdoNet | Orleans-Persistenzanbieter, der von ADO.NET unterstützt wird. |
Microsoft.Orleans.Persistence.AzureStorage | Orleans-Persistenzanbieter, der von Azure Table Storage unterstützt wird. |
Microsoft.Orleans.Persistence.DynamoDB | Orleans-Persistenzanbieter, der von AWS DynamoDB unterstützt wird. |
Microsoft.Orleans.Persistence.Memory | In-Memory-Speicher für Orleans. |
Streamanbieter
NuGet-Paket | BESCHREIBUNG |
---|---|
Microsoft.Orleans.Streaming | Streamingbibliothek für Orleans, die sowohl auf dem Client als auch auf dem Server verwendet wird. |
Microsoft.Orleans.Streaming.AzureStorage | Orleans-Streaminganbieter, der von Azure Queue Storage unterstützt wird. |
Microsoft.Orleans.Streaming.EventHubs | Orleans-Streaminganbieter, der von Azure Event Hubs unterstützt wird. |
Microsoft.Orleans.Streaming.SQS | Orleans-Streaminganbieter, der von AWS SQS unterstützt wird. |
Zusätzliche Pakete
NuGet-Paket | BESCHREIBUNG |
---|---|
Microsoft.Orleans.Analyzers | C#-Analysetools für Orleans. |
Microsoft.Orleans.CodeGenerator | Codegenerierungsbibliothek für Microsoft.Orleans.Serialization . |
Microsoft.Orleans.EventSourcing | Basistypen zum Erstellen von Orleans-Grains mit ereignisbasiertem Zustand. |
Microsoft.Orleans.Connections.Security | Unterstützung für die Sicherheitskommunikation mithilfe von TLS in Orleans. |
Entwickeln und Testen
NuGet-Paket | BESCHREIBUNG |
---|---|
Microsoft.Orleans.TestingHost | Orleans-Bibliothek zum Hosten eines Silos in einem Testprojekt. |
Microsoft.Orleans.Transactions.TestKit.Base | Testkit-Basisbibliothek für Transaktionen. |
Microsoft.Orleans.Transactions.TestKit.xUnit | xUnit-Testkitbibliothek für Transaktionen. |
Microsoft.Orleans.Serialization.TestKit | Testkit für Projekte mit Microsoft.Orleans.Serialization . |
Serialisierungsmodule
NuGet-Paket | BESCHREIBUNG |
---|---|
Microsoft.Orleans.Serialization | Schnelles, flexibles und versionstolerantes Serialisierungsmodul für .NET. |
Microsoft.Orleans.Serialization.Abstractions | Serialisierungsabstraktionen für Orleans. |
Microsoft.Orleans.Serialization.SystemTextJson | System.Text.Json -Integration für Microsoft.Orleans.Serialization . |
Microsoft.Orleans.Serialization.FSharp | F#-Kerntypunterstützung für Microsoft.Orleans.Serialization . |
Microsoft.Orleans.Serialization.NewtonsoftJson | Newtonsoft.Json -Integration für Microsoft.Orleans.Serialization . |
Transaktionen
NuGet-Paket | BESCHREIBUNG |
---|---|
Microsoft.Orleans.Transactions | Kerntransaktionsbibliothek von Orleans, die auf dem Server verwendet wird. |
Microsoft.Orleans.Transactions.AzureStorage | Orleans-Transaktionsspeicheranbieter, der von Azure Storage unterstützt wird. |
Extras
Ein beliebtes Orleans Tool ist das OrleansDashboard-NuGet-Paket. Dieses Dashboard bietet einige einfache Metriken und Einblicke in die Vorgänge in Ihrer Orleans-App. Weitere Informationen finden Sie unter GitHub: Orleans-Dashboard.
Schlüsselpakete
Es gibt 5 Schlüssel-NuGet-Pakete, die Sie in den meisten Szenarien verwenden müssen:
Orleans Core Abstractions
Install-Package Microsoft.Orleans.Core.Abstractions
Enthält OrleansCore.Abstractions.dll, die öffentliche Orleans-Typen definiert, die für die Entwicklung von Anwendungscode (Grainschnittstellen und -klassen) benötigt werden. Auf dieses Paket muss jedes Orleans-Projekt direkt oder indirekt verweisen. Fügen Sie es Ihren Projekten hinzu, die Grainschnittstellen und -klassen definieren.
Codegenerierung zur Buildzeit in Orleans
Microsoft.Orleans. OrleansCodeGenerator.Build.
Install-Package Microsoft.Orleans.OrleansCodeGenerator.Build
Vorhanden in Orleans 1.2.0. Unterstützung der Buildzeit für Grainschnittstellen und Implementierungsprojekte. Fügen Sie es Ihren Grainschnittstellen und Implementierungsprojekten hinzu, um die Codegenerierung von Grainverweisen und Serialisierungsmodulen zu ermöglichen.
Microsoft.Orleans.CodeGenerator.MSBuild.
Install-Package Microsoft.Orleans.CodeGenerator.MSBuild
Herausgegeben als Teil von Orleans 2.1.0. Eine Alternative zum
Microsoft.Orleans.OrleansCodeGenerator.Build
-Paket. Nutzt Roslyn für die Codeanalyse, um das Laden von Anwendungsbinärdateien zu vermeiden, und verbessert die Unterstützung für inkrementelle Builds, was zu kürzeren Buildzeiten führen sollte.
Orleans-Serverbibliotheken
Install-Package Microsoft.Orleans.Server
Ein Metapaket zum einfachen Erstellen und Starten eines Silos. Enthält folgende Pakete:
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansRuntime
Microsoft.Orleans.OrleansProviders
Orleans-Clientbibliotheken
Install-Package Microsoft.Orleans.Client
Ein Metapaket zum einfachen Erstellen und Starten eines Orleans-Clients (Front-End). Enthält folgende Pakete:
Microsoft.Orleans.Core.Abstractions
Microsoft.Orleans.Core
Microsoft.Orleans.OrleansProviders
Orleans-Kernbibliothek
Install-Package Microsoft.Orleans.Core
Enthält eine Implementierung für die meisten öffentlichen Orleans-Typen, die von Anwendungscode und Orleans-Clients (Front-Ends) verwendet werden. Verweisen Sie darauf, um Bibliotheken und Clientanwendungen zu erstellen, die Orleans-Typen verwenden, aber nichts mit Hosting oder Silos zu tun haben. Ist in den Metapaketen „Microsoft.Orleans.Client“ und „Microsoft.Orleans.Server“ enthalten, und die meisten anderen Pakete verweisen direkt oder indirekt darauf.
Hosting
Orleans-Runtime
Install-Package Microsoft.Orleans.OrleansRuntime
Bibliothek zum Konfigurieren und Starten eines Silos. Verweisen Sie in Ihrem Silohostprojekt darauf. Im Metapaket „Microsoft.Orleans.Server“ enthalten.
Orleans-Runtimeabstraktionen
Install-Package Microsoft.Orleans.Runtime.Abstractions
Enthält Schnittstellen und Abstraktionen für Typen, die in Microsoft.Orleans.OrleansRuntime
implementiert sind.
Orleans-Hosting in Azure Cloud Services
Install-Package Microsoft.Orleans.Hosting.AzureCloudServices
Enthält Hilfsklassen zum Hosten von Silos und Orleans-Clients als Azure Cloud Services (Workerrollen und Webrollen).
Orleans-Service Fabric-Hostingunterstützung
Install-Package Microsoft.Orleans.Hosting.ServiceFabric
Enthält Hilfsklassen zum Hosten von Silos als zustandslosen Service Fabric-Dienst.
Clusteringanbieter
Die folgenden Pakete enthalten Plug-Ins zum Beibehalten von Clustermitgliedschaftsdaten in verschiedenen Speichertechnologien.
Orleans-Clusteringanbieter für Azure Table Storages
Install-Package Microsoft.Orleans.Clustering.AzureStorage
Enthält das Plug-In für die Verwendung von Azure-Tabellen zum Speichern von Clustermitgliedschaftsdaten.
Orleans-Clusteringanbieter für ADO.NET-Anbieter
Install-Package Microsoft.Orleans.Clustering.AdoNet
Enthält das Plug-In für die Verwendung von ADO.NET zum Speichern von Clustermitgliedschaftsdaten in einer der unterstützten Datenbanken.
Orleans-Consul-Dienstprogramme
Install-Package Microsoft.Orleans.OrleansConsulUtils
Enthält das Plug-In für die Verwendung von Consul zum Speichern von Clustermitgliedschaftsdaten.
Orleans-ZooKeeper-Dienstprogramme
Install-Package Microsoft.Orleans.OrleansZooKeeperUtils
Enthält das Plug-In für die Verwendung von ZooKeeper zum Speichern von Clustermitgliedschaftsdaten.
Orleans-Clusteringanbieter für AWS DynamoDB
Install-Package Microsoft.Orleans.Clustering.DynamoDB
Enthält das Plug-In für die Verwendung von AWS DynamoDB zum Speichern von Clustermitgliedschaftsdaten.
Erinnerungsanbieter
Die folgenden Pakete enthalten Plug-Ins zum Beibehalten von Erinnerungen in verschiedenen Speichertechnologien.
Orleans-Erinnerungen: Azure Table Storage
Install-Package Microsoft.Orleans.Reminders.AzureStorage
Enthält das Plug-In für die Verwendung von Azure-Tabellen zum Speichern von Erinnerungen.
Orleans-Erinnerungen: ADO.NET-Anbieter
Install-Package Microsoft.Orleans.Reminders.AdoNet
Enthält das Plug-In für die Verwendung von ADO.NET zum Speichern von Erinnerungen in einer der unterstützten Datenbanken.
Orleans-Erinnerungsanbieter für AWS DynamoDB
Install-Package Microsoft.Orleans.Reminders.DynamoDB
Enthält das Plug-In für die Verwendung von AWS DynamoDB zum Speichern von Erinnerungen.
Grainspeicheranbieter
Die folgenden Pakete enthalten Plug-Ins zum Beibehalten des Grainstatus in verschiedenen Speichertechnologien.
Orleans-Persistenz: Azure Storage
Install-Package Microsoft.Orleans.Persistence.AzureStorage
Enthält die Plug-Ins für die Verwendung von Azure-Tabellen oder Azure-Blobs zum Speichern des Grainstatus.
Orleans-Persistenz: ADO.NET-Anbieter
Install-Package Microsoft.Orleans.Persistence.AdoNet
Enthält das Plug-In für die Verwendung von ADO.NET zum Speichern des Grainstatus in einer der unterstützten Datenbanken.
Orleans-Persistenz: DynamoDB
Install-Package Microsoft.Orleans.Persistence.DynamoDB
Enthält das Plug-In für die Verwendung von AWS DynamoDB zum Speichern des Grainstatus.
Streamanbieter
Die folgenden Pakete enthalten Plug-Ins für die Übermittlung von Streamingereignissen.
Orleans-ServiceBus-Dienstprogramme
Install-Package Microsoft.Orleans.OrleansServiceBus
Enthält den Streamanbieter für Azure Event Hubs.
Orleans-Streaming: Azure Storage
Install-Package Microsoft.Orleans.Streaming.AzureStorage
Enthält den Streamanbieter für Azure-Warteschlangen.
Orleans-Streaming: AWS SQS
Install-Package Microsoft.Orleans.Streaming.SQS
Enthält den Streamanbieter für den AWS SQS-Dienst.
Orleans-Google Cloud Platform-Dienstprogramme
Install-Package Microsoft.Orleans.OrleansGCPUtils
Enthält den Streamanbieter für den GCP-PubSub-Dienst.
Zusätzliche Pakete
Orleans-Codegenerierung
Install-Package Microsoft.Orleans.OrleansCodeGenerator
Enthält den Laufzeitcode-Generator.
Orleans-Ereignissourcing
Install-Package Microsoft.Orleans.EventSourcing
Enthält eine Reihe von Basistypen zum Erstellen von Grainklassen mit ereignisbasiertem Zustand.
Entwickeln und Testen
Orleans-Anbieter
Install-Package Microsoft.Orleans.OrleansProviders
Enthält eine Reihe von Persistenz- und Streamanbietern, die Daten im Arbeitsspeicher speichern. Für Tests vorgesehen. Im Allgemeinen nicht zur Verwendung in der Produktion empfohlen, es sei denn, Datenverluste im Falle eines Siloausfalls sind akzeptabel.
Orleans-Testhostbibliothek
Install-Package Microsoft.Orleans.TestingHost
Enthält die Bibliothek zum Hosten von Silos und Clients in einem Testprojekt.
Serialisierungsmodule
Orleans: Bond-Serialisierungsmodul
Install-Package Microsoft.Orleans.Serialization.Bond
Enthält Unterstützung für das Bond-Serialisierungsmodul.
Orleans: Google-Dienstprogramme
Install-Package Microsoft.Orleans.OrleansGoogleUtils
Enthält das Google-Protokollpuffer-Serialisierungsmodul.
Orleans: protobuf-net-Serialisierungsmodul
Install-Package Microsoft.Orleans.ProtobufNet
Enthält die protobuf-net-Version des Protokollpuffer-Serialisierungsmoduls.
Telemetrie
Orleans-Telemetrieconsumer – Leistungsindikatoren
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.Counters
Implementierung von Windows-Leistungsindikatoren der Orleans-Telemetrie-API.
Orleans-Telemetrieconsumer – Azure Application Insights
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.AI
Schließt den Telemetrieconsumer für Azure Application Insights ein.
Orleans-Telemetrieconsumer – NewRelic
Install-Package Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
Schließt den Telemetrieconsumer für NewRelic ein.
Transaktionen
Orleans-Transaktionsunterstützung
Install-Package Microsoft.Orleans.Transactions
Umfasst Unterstützung für grainübergreifende Transaktionen (Beta).
Orleans-Transaktionen in Azure
Install-Package Microsoft.Orleans.Transactions.AzureStorage
Enthält ein Plug-In zum Beibehalten des Transaktionsprotokolls in Azure-Tabellen (Beta).
Tools
Orleans-Tool „Leistungsindikator“
Install-Package Microsoft.Orleans.CounterControl
Enthält OrleansCounterControl.exe
zum Registrieren von Windows-Leistungsindikatorkategorien für Orleans-Statistiken und bereitgestellte Grainklassen. Erfordert Rechteerweiterung. Kann in Azure als Teil einer Rollenstartaufgabe ausgeführt werden.