Ich habe eine Socket-Server-Anwendung geschrieben am Knoten js, gehostet auf Amazon EBS (Elastic Bohnenstiel) verbinden, die durch Load-BalancerSockel io auf ELB, müssen alle Instanzen von Anwendungsservern
Clients verwaltet verbindet sich mit dem Socket und übergeben angegebene ID, sagen event_id meine Anwendung erstellt Raum mit dem Namen "event_ event_id
" und dem Raum beitreten. Unterschiedliche Kunden haben unterschiedliche „event_id“
Eine Lambda-Funktion an die Buchse angeschlossen und sendet ein Ereignis mit dem Namen „event_push“, um die Anwendung mit den erforderlichen Daten wie event_id
Immer, wenn meine Socket-Anwendung (in einem der Fälle, in EBS) eine Push-Ereignis mit event_id
erfasst, übertragen sie die geschoben Daten an alle Mitglieder des Raumes „event_ event_id
“, also alle Mitglieder der Veranstaltung
Kunden durch Load-Balancer, einen der Server eine Verbindung herstellen können, entschieden informiert wird, und Sticky-Sitzungen können die Verbindung aufrechterhalten
Nun mein Problem: Gibt es eine Möglichkeit, die „event_push“, um nur den Server sende einen Raum namens „event_ event_id
“
Qn mit: eine Möglichkeit, ein Ereignis für alle Instanzen des Servers zu emittieren Gibt es in EBS? ODER Qn: Gibt es alternative Lösungen?
Mögliche Lösung: Ein zentraler Subscribe/Publish-Server, der dauerhafte Verbindung haben kann, die die Ereignisdetails empfangen kann. Die Socket-Server können den zentralen Server abonnieren, so dass sie bei jedem Ereignis über die dauerhafte Verbindung an alle abonnierten Socket-Server gesendet werden. – Ima