Sdílet prostřednictvím


Aplikace Orleans

Typická aplikace Orleans se skládá z clusteru serverových procesů (sila), kde se zrna žijí, a sada klientských procesů, obvykle webových serverů, které přijímají externí požadavky, přeměňují je na volání metod odstupňované a vrací výsledky. Proto první věc, kterou je třeba udělat ke spuštění aplikace Orleans, je spustit cluster sila. Pro účely testování se cluster může skládat z jednoho silo. Pro spolehlivé produkční nasazení chceme v clusteru více než jedno silo kvůli odolnosti proti chybám a škálování.

Po spuštění clusteru můžeme spustit jeden nebo více klientských procesů, které se připojují ke clusteru, a odesílat požadavky na zrna. Klienti se připojují ke speciálnímu koncovému bodu TCP na sila – bráně. Ve výchozím nastavení má každý silo v clusteru povolenou bránu klienta. Klienti se tak můžou připojit ke všem sila paralelně, aby se zlepšil výkon a odolnost.

Konfigurace a spuštění silo

Silo se konfiguruje programově prostřednictvím objektu ClusterConfiguration . Je možné vytvořit instanci a naplnit přímo, načíst nastavení ze souboru nebo vytvořit pomocí několika dostupných pomocných metod pro různá prostředí nasazení. Pro místní testování je LocalhostPrimarySilo nejjednodušší způsob, jak použít pomocnou metodu. Objekt konfigurace se pak předá nové instanci SiloHost třídy, která může být inicializována a spuštěna potom.

Můžete vytvořit prázdný projekt konzolové aplikace, který cílí na .NET Framework 4.6.1 nebo vyšší pro hostování silo. Přidejte do Microsoft.Orleans.Server projektu metabal NuGet.

Install-Package Microsoft.Orleans.Server

Tady je příklad toho, jak se dá spustit místní silo:

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();

Konfigurace a připojení k klientovi

Klient pro připojení ke clusteru sila a odesílání požadavků na zrna je nakonfigurován programově prostřednictvím objektu ClientConfiguration a objektu ClientBuildera . ClientConfiguration objekt je možné vytvořit instanci a naplnit přímo, načíst nastavení ze souboru nebo vytvořit pomocí několika dostupných pomocných metod pro různá prostředí nasazení. Pro místní testování je LocalhostSilo nejjednodušší způsob, jak použít pomocnou metodu. Objekt konfigurace se pak předá nové instanci ClientBuilder třídy.

ClientBuilder zveřejňuje další metody konfigurace dalších funkcí klienta. Po této ClientBuilder.Build() metodě objektu ClientBuilder je volána získat implementaci IClusterClient rozhraní. Nakonec zavoláme IClusterClient.Connect() metodu vráceného objektu pro připojení ke clusteru.

Můžete vytvořit prázdný projekt konzolové aplikace, který cílí na .NET Framework 4.6.1 nebo vyšší, abyste mohli spustit klienta nebo znovu použít projekt konzolové aplikace, který jste vytvořili pro hostování silo. Přidejte do Microsoft.Orleans.Client projektu metabal NuGet.

Install-Package Microsoft.Orleans.Client

Tady je příklad toho, jak se klient může připojit k místnímu silo:

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

Produkční konfigurace

Tady jsou příklady konfigurace, které jsme použili pro testování sila a klientů běžících na stejném počítači jako localhost. V produkčním prostředí obvykle běží sila a klienti na různých serverech a konfigurují se jednou ze spolehlivých možností konfigurace clusteru. Další informace najdete v průvodci konfigurací a v popisu správy clusteru.

Další kroky