Freigeben über


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.