Eine Frage zu Cluster Routern (Strategie = Round-Robin-Gruppe). Ich kann es nicht in einem geclusterten Setup zwischen meinen Routen round robin bekommen.akka.net Round Robin Gruppen Router - nur Routing zu einem Router
Mein Setup ist wie folgt: Knoten A, Starten seines Akteursystems im Kontext von ASP.NET. Dort habe ich einen API-Controller, der mit Schauspieler A1 spricht, dieser Schauspieler spricht dann mit meinem Router. Dieser Router sollte dann die Nachrichten round robin auf die Routen routen, die auf Knoten B erstellt wurden (mithilfe der Worker-Rolle).
Knoten B erstellt sein Akteursystem im Kontext eines Windows-Dienstes. Ich habe überprüft, dass alle meine routes auf Knoten B tatsächlich erstellt werden (bei Dienststart ausgeführt).
Um zu überprüfen, welche der routes, die die Nachricht von dem Router an Knoten A gesendet erhalten, trage ich nur Protokoll Self.Path in meinem Receive-Handle. Aus irgendeinem Grund erhält derselbe Benutzer alle Nachrichten und sie werden nicht auf die Routen verteilt.
Se Konfig auf Knoten A unten.
/workerRouter {
router = round-robin-group
routees.paths = [
"/user/workers/worker0",
"/user/workers/worker1",
"/user/workers/worker2",
"/user/workers/worker3",
"/user/workers/worker4",
"/user/workers/worker5",
"/user/workers/worker6",
"/user/workers/worker7",
"/user/workers/worker8",
"/user/workers/worker9"
]
cluster {
enabled = on
use-role = worker
}
}
ist der Router mit dem folgenden Code instanziiert:
ActorSystem.ActorOf(Props.Empty.WithRouter(FromConfig.Instance), "workerRouter");
Mit Versionen:
- Akka 1.1.0
- Akka.Cluster 1.1.0
- Akka. Fernbedienung 1.1.0