Wniosek orleański

Typowa aplikacja Orleanu składa się z klastra procesów serwera (silosów), w którym żyją ziarna, oraz zestawu procesów klienta, zwykle serwerów internetowych, które odbierają żądania zewnętrzne, przekształcają je w wywołania metody ziarna i zwracają wyniki. W związku z tym pierwszą rzeczą, którą należy zrobić, aby uruchomić aplikację Orleanu jest uruchomienie klastra silosów. Na potrzeby testowania klaster może składać się z jednego silosu. W przypadku niezawodnego wdrożenia produkcyjnego potrzebujemy więcej niż jednego silosu w klastrze w celu zapewnienia odporności na uszkodzenia i skalowania.

Po uruchomieniu klastra możemy uruchomić co najmniej jeden proces klienta, który łączy się z klastrem i może wysyłać żądania do ziarna. Klienci łączą się ze specjalnym punktem końcowym TCP w silosach — brama. Domyślnie każdy silos w klastrze ma włączoną bramę klienta. Dzięki temu klienci mogą łączyć się z wszystkimi silosami równolegle, aby uzyskać lepszą wydajność i odporność.

Konfigurowanie i uruchamianie silosu

Silos jest konfigurowany programowo za pośrednictwem ClusterConfiguration obiektu. Można utworzyć wystąpienie i wypełnić je bezpośrednio, załadować ustawienia z pliku lub utworzyć z kilkoma dostępnymi metodami pomocnika dla różnych środowisk wdrażania. W przypadku testowania lokalnego najprostszym sposobem jest użycie LocalhostPrimarySilo metody pomocnika. Następnie obiekt konfiguracji jest przekazywany do nowego wystąpienia SiloHost klasy, które można zainicjować i uruchomić po tym.

Możesz utworzyć pusty projekt aplikacji konsoli przeznaczony dla .NET Framework 4.6.1 lub nowszy na potrzeby hostowania silosu. Microsoft.Orleans.Server Dodaj NuGet meta-package do projektu.

Install-Package Microsoft.Orleans.Server

Oto przykład sposobu uruchamiania silosu lokalnego:

var siloConfig = ClusterConfiguration.LocalhostPrimarySilo();
var silo = new SiloHost("Test Silo", siloConfig);
silo.InitializeOrleansSilo();
silo.StartOrleansSilo();

Console.WriteLine("Press Enter to close.");
// wait here
Console.ReadLine();

// shut the silo down after we are done.
silo.ShutdownOrleansSilo();

Konfigurowanie klienta i nawiązywanie z nią połączenia

Klient do nawiązywania połączenia z klastrem silosów i wysyłania żądań do ziarna jest konfigurowany programowo za pośrednictwem ClientConfiguration obiektu i obiektu ClientBuilder. ClientConfiguration obiekt można utworzyć i wypełnić bezpośrednio, załadować ustawienia z pliku lub utworzyć z kilkoma dostępnymi metodami pomocnika dla różnych środowisk wdrażania. W przypadku testowania lokalnego najprostszym sposobem jest użycie LocalhostSilo metody pomocnika. Następnie obiekt konfiguracji jest przekazywany do nowego wystąpienia ClientBuilder klasy.

ClientBuilder uwidacznia więcej metod konfigurowania dodatkowych funkcji klienta. Po wywołaniu ClientBuilder tej ClientBuilder.Build() metody obiektu w celu uzyskania implementacji interfejsuIClusterClient. Na koniec wywołujemy IClusterClient.Connect() metodę dla zwróconego obiektu w celu nawiązania połączenia z klastrem.

Możesz utworzyć pusty projekt aplikacji konsoli przeznaczony dla .NET Framework 4.6.1 lub nowszy na potrzeby uruchamiania klienta lub ponownie użyć projektu aplikacji konsolowej utworzonego do hostowania silosu. Microsoft.Orleans.Client Dodaj NuGet meta-package do projektu.

Install-Package Microsoft.Orleans.Client

Oto przykład sposobu, w jaki klient może nawiązać połączenie z silosem lokalnym:

var config = ClientConfiguration.LocalhostSilo();
var builder = new ClientBuilder().UseConfiguration(config).
var client = builder.Build();
await client.Connect();

Konfiguracje produkcyjne

W przykładach konfiguracji używanych tutaj do testowania silosów i klientów działających na tej samej maszynie co localhost. W środowisku produkcyjnym silosy i klienci zwykle działają na różnych serwerach i są skonfigurowane przy użyciu jednej z niezawodnych opcji konfiguracji klastra. Więcej informacji można znaleźć w przewodniku konfiguracji i w opisie zarządzania klastrem.

Następne kroki