मेरे पास एक अक्का.NET क्लस्टर है जिसमें लाइटहाउस बीज नोड और दो अन्य नोड्स अभिनेता सिस्टम चला रहे हैं। जब मैं अपने क्लस्टर नोड्स में से एक पर एक सुंदर शट डाउन करने का प्रयास करता हूं, तो मैं देखना चाहता हूं कि कम से कम एक अन्य नोड्स नोड छोड़ने के बारे में एक संदेश देखता है और सभी क्लस्टर नोड्स अंततः नोड्स की सूची के छोड़ने वाले नोड को बाहर कर देते हैं।Akka.NET क्लस्टर नोड सुन्दर शट डाउन
एक बार है कि ध्यान रखा गया है की मुझे लगता है मैं बंद दो अन्य नोड कि बंद करने के लिए कनेक्ट करने में सक्षम नहीं होने के बारे पागल जा रहा नोड्स के बिना अभिनेता प्रणाली में सक्षम होना चाहिए उम्मीद ...
मेरे पास है क्या अभी एक कंसोल आवेदन एक TopShelf आवेदन में लपेटा जाता है:
class ActorService : ServiceControl
{
private ActorSystem _actorSystem;
public bool Start(HostControl hostControl)
{
_actorSystem = ActorSystem.Create("myActorSystem");
var cluster = Cluster.Get(_actorSystem);
cluster.RegisterOnMemberRemoved(_Terminate);
return true;
}
public bool Stop(HostControl hostControl)
{
var cluster = Cluster.Get(_actorSystem);
cluster.Leave(cluster.SelfAddress);
return true;
}
private void _Terminate()
{
_actorSystem.Terminate();
}
}
यहाँ मेरी मुख्य है:
class Program
{
static int Main(string[] args)
{
return (int) HostFactory.Run(x =>
{
x.UseAssemblyInfoForServiceInfo();
x.RunAsLocalSystem();
x.StartAutomatically();
x.Service<ActorService>();
x.EnableServiceRecovery(r => r.RestartService(1));
});
}
}
जब बंद करो समारोह के माध्यम से कदम, मैं अन्य नोड्स पर छोड़ने वाले नोड के बारे में कोई प्राप्त संदेश नहीं देख सकता। जब फ़ंक्शन रिटर्न करता है, तो अन्य नोड्स अपवादों को स्पॉटिंग शुरू करते हैं।
Akka.NET Gitter चैनल में एक उपयोगकर्ता ने कहा:
मैं webhost समाप्त होने के बाद एक शुद्ध ASP.NET कोर परियोजना के साथ, एक ही बात भी TopShelf बिना मुझे कहना पड़ेगा देखा है।
क्या आप अन्य नोड्स पर जो अपवाद देख रहे हैं उसे पोस्ट कर सकते हैं? – Aaronontheweb
जैसा कि मैं एएसपी.नेट कोर वेबहोस्ट के साथ ऐसा कर रहा हूं, मैं इन अपवादों को देख सकता हूं: 'System.Net.Sockets.SocketException (0x80004005) के साथ 'त्रुटि पकड़ा गया चैनल' के साथ शुरू होता है: I/O ऑपरेशन निरस्त कर दिया गया है क्योंकि या तो थ्रेड निकास या एक आवेदन अनुरोध'। फिर दो मृत पत्र जिन्हें 'अलग' संदेश वितरित नहीं किए गए हैं। फिर 'Akka.Remote.ShutDownAssociation:' Akka.Remote.Transport.InvalidAssociationException के साथ पता बंद करें ': रिमोट सिस्टम ने एसोसिएशन को समाप्त कर दिया क्योंकि यह बंद हो रहा है। अधिक मृत पत्रों का पालन करें। – ZoolWay
यह 'अमान्य वर्गीकरण' का उत्पादन जारी रखेगा क्योंकि यह अंतहीन रूप से शटडाउन नोड से पुनः कनेक्ट करने का प्रयास करता है जिसे क्लस्टर छोड़ दिया जाना चाहिए था। – ZoolWay