Как успешно настроить простой синглтон кластера в Akka.NET

Я столкнулся с проблемой при попытке настроить Cluster Singleton в кластере Akka.NET, где в моем кластере запускалось и работало более одного экземпляра singleton. Кластер состоит из Lighthouse (исходного узла) и x экземпляров основного узла кластера, из которых есть сегменты кластера, а также этого синглтона, которые существуют в этом узле.

Чтобы воспроизвести проблему, с которой я столкнулся, я создал пример решения на GitHub. но, к сожалению, у меня другая проблема, так как я всегда получаю сообщения Singleton недоступен, а мой singleton никогда не получает сообщения. Это своего рода противоположная проблема, с которой я столкнулся изначально, но, тем не менее, я хотел бы разобраться в рабочем примере одноэлементного кластера.

[DEBUG][22.08.2016 15:06:18][Thread 0015][[akka://singletontest/user/my-singleton-proxy#1237572454]] Singleton недоступен, тип сообщения буферизации [System.String ]

В процессе Lighthouse я вижу следующие сообщения.

Akka.Remote.EndpointWriter: удаление сообщения [Akka.Actor.ActorSelectionMessage] для нелокального получателя [[akka.tcp://[email protected]:4053/]], прибывающего на [akka.tcp://[email protected] .0.1:4053] входящие адреса [akka.tcp://[email protected]:4053]

Потенциально связанные:


person jpierson    schedule 22.08.2016    source источник


Ответы (1)


Похоже, единственное, чего не хватало, это то, что система акторов, указанная в пути актора для моего начального узла, не соответствовала имени системы акторов, указанному как в процессах Lighthouse, так и в процессах моего кластерного узла. Убедившись, что он совпадает во всех трех местах, кластер теперь ведет себя так, как ожидалось.

https://github.com/jpierson/x-akka-cluster-singleton/commit/77ae63209042841c144f69d4cd70e9925b68a79a

Особая благодарность Chris G. Stevens за помощь.

person jpierson    schedule 23.08.2016