Приложение Orleans

Типичное приложение Орлеана состоит из кластера серверных процессов (силосов), где живут зерна, и набора клиентских процессов, обычно веб-серверов, которые получают внешние запросы, превратят их в вызовы методов зерна и возвращают результаты. Следовательно, первое, что нужно сделать для запуска приложения Орлеана, — запустить кластер силосов. В целях тестирования кластер может состоять из одного силона. Для надежного рабочего развертывания требуется несколько файлов в кластере для отказоустойчивости и масштабирования.

После запуска кластера можно запустить один или несколько клиентских процессов, которые подключаются к кластеру и могут отправлять запросы к зернам. Клиенты подключаются к специальной конечной точке TCP в силосах — шлюзе. По умолчанию для каждого хранилища в кластере включен клиентский шлюз. Таким образом, клиенты могут подключаться ко всем silos параллельно для повышения производительности и устойчивости.

Настройка и запуск лога

Сило настраивается программным способом ClusterConfiguration через объект. Его можно создать и заполнить напрямую, загрузить параметры из файла или создать с помощью нескольких доступных вспомогательных методов для разных сред развертывания. Для локального тестирования проще всего использовать LocalhostPrimarySilo вспомогательный метод. Затем объект конфигурации передается новому экземпляру SiloHost класса, который можно инициализировать и запустить после этого.

Вы можете создать пустой проект консольного приложения, предназначенный для платформа .NET Framework 4.6.1 или более поздней версии для размещения сило. Microsoft.Orleans.Server Добавьте в проект метапакет NuGet.

Install-Package Microsoft.Orleans.Server

Ниже приведен пример запуска локального фрагмента.

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

Настройка и подключение к клиенту

Клиент для подключения к кластеру силосов и отправки запросов к зернам настраивается программным способом ClientConfiguration через объект и объект ClientBuilder. ClientConfiguration объект можно создать экземпляр и заполнить напрямую, загрузить параметры из файла или создать с помощью нескольких доступных вспомогательных методов для разных сред развертывания. Для локального тестирования проще всего использовать LocalhostSilo вспомогательный метод. Затем объект конфигурации передается новому экземпляру ClientBuilder класса.

ClientBuilder предоставляет дополнительные методы настройки дополнительных клиентских функций. После вызова этого ClientBuilder.Build() метода ClientBuilder объекта для получения реализации IClusterClient интерфейса. Наконец, мы вызываем IClusterClient.Connect() метод для возвращенного объекта для подключения к кластеру.

Вы можете создать пустой проект консольного приложения, предназначенный для платформа .NET Framework 4.6.1 или более поздней версии для запуска клиента или повторного использования проекта консольного приложения, созданного для размещения сило. Microsoft.Orleans.Client Добавьте в проект метапакет NuGet.

Install-Package Microsoft.Orleans.Client

Ниже приведен пример подключения клиента к локальному фрагменту:

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

Рабочие конфигурации

Примеры конфигурации, которые мы использовали здесь, предназначены для тестирования силосов и клиентов, работающих на том же компьютере, что и localhost. В рабочей среде серверы и клиенты обычно выполняются на разных серверах и настраиваются с помощью одного из вариантов конфигурации надежного кластера. Дополнительные сведения см. в руководстве по настройке и описании управления кластерами.

Дальнейшие действия