Mam aplikacji serwera gniazdo napisane na js węźle hostowane na Amazon EBS (Elastic fasoli łodygi), który jest zarządzany przez load balancerGniazdo IO na ELB, konieczne jest podłączenie do wszystkich instancji serwerów aplikacyjnych
Klienci łączy się z gniazdem i przekazuje określony identyfikator, na przykład event_id, moja aplikacja tworzy pomieszczenie o nazwie "event_ event_id
" i dołącz do pokoju. Różni klienci mają różne „event_id”
Funkcja lambda podłącza się do gniazda i emituje zdarzenie o nazwie „event_push” do wniosku wraz z niezbędnymi danymi, takimi jak event_id
Ilekroć mój wniosek gniazdo (w jednym z przypadków, w EBS) wykrywa zdarzenie pchania event_id
, to nadawanie popychane danych dla wszystkich członków pokoju „event_ event_id
”, a więc wszyscy członkowie zostaje powiadomiony o wypadku
klienci mogą łączyć jednego z serwerów, postanowił przez równoważenia obciążenia i sesje lepkie mogą utrzymać połączenie
Teraz mój problem: Czy istnieje sposób, aby emitować „event_push” tylko do serwera posiadającego salę o nazwie „event_ event_id
”
Qn: Czy istnieje sposób, aby emitować zdarzenia do wszystkich instancji serwerów w EBS? LUB Qn: Czy istnieją alternatywne rozwiązania?
Możliwe rozwiązanie: Centralny serwer subskrypcji/publikowania, który może mieć trwałe połączenie, które może odbierać szczegóły wydarzenia. Serwery gniazd mogą zasubskrybować centralny serwer, tak aby kiedykolwiek zdarzyło się zdarzenie, zostanie przekazane do wszystkich subskrybowanych serwerów gniazd przez trwałe połączenie. – Ima