Попытка настроить членство в Орлеан Кластер с Консулом
Я пытаюсь использовать существующий кластер Консул в качестве поставщика членства для тестового приложения Орлеана.
Я получаю эту ошибку при подключении моего клиентского приложения к бункеру
Не удалось найти какие-либо шлюзы в Orleans.Runtime.Host.ConsulBasedMembershipTable. Клиент Орлеана не может инициализироваться.
При копании в класс ConsulUtils для извлекаемых записей не определен ProxyPort - и отбрасываются - отсюда и пустой набор результатов.
Я инициализирую бункер так:
var clusterConfiguration = new ClusterConfiguration();
clusterConfiguration.Globals.DataConnectionString = "http://localhost:8500";
clusterConfiguration.Globals.DeploymentId = "OrleansPlayground";
clusterConfiguration.Globals.LivenessType = GlobalConfiguration.LivenessProviderType.Custom;
clusterConfiguration.Globals.MembershipTableAssembly = "OrleansConsulUtils";
clusterConfiguration.Globals.ReminderServiceType = GlobalConfiguration.ReminderServiceProviderType.Disabled;
var silohost = new SiloHost("Fred", clusterConfiguration);
silohost.InitializeOrleansSilo();
startup = Task.Factory.StartNew(() =>
{
return silohost.StartOrleansSilo();
});
return true;
И я настроил свое клиентское приложение так:
var config = new ClientConfiguration();
config.CustomGatewayProviderAssemblyName = "OrleansConsulUtils";
config.DataConnectionString = "http://localhost:8500";
config.DeploymentId = "OrleansPlayground";
config.GatewayProvider = ClientConfiguration.GatewayProviderType.Custom;
GrainClient.Initialize(config);
Глядя на код в ConsulUtils, я вижу, что ProxyPort не установлен (т.е. равен 0) при сохранении записи. Поэтому я предполагаю, что у меня возникла проблема при инициализации бункера, но я не могу понять, что это такое!
1 ответ
Не копаясь глубоко, звучит как ошибка. Пожалуйста, сделайте репост на GitHub, и мы постараемся вам помочь.