Попытка настроить членство в Орлеанском кластере с помощью Consul

Я пытаюсь использовать существующий кластер Consul в качестве поставщика членства для тестового приложения Orleans.

Я получаю эту ошибку при подключении моего клиентского приложения к бункеру

Не удалось найти шлюз в Orleans.Runtime.Host.ConsulBasedMembershipTable. Клиент Orleans не может инициализироваться.

Копаясь в классе 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) при сохранении записи. Итак, я предполагаю, что у меня возникла проблема при инициализации бункера, но я не могу понять, в чем она заключается!


person Matthew Nicholls    schedule 29.10.2016    source источник


Ответы (1)


Не копая глубоко, звучит как ошибка. Пожалуйста, сделайте репост на GitHub, и мы постараемся вам помочь.

person Gabi Kliot    schedule 30.10.2016
comment
Спасибо! Я добавил это как задачу — github.com/dotnet/orleans/issues/2370 - person Matthew Nicholls; 30.10.2016