Socket.io Websockets auf einem TCP-konfigurierten Amazon Elastic Load Balancer

Ich plane, eine Gruppe von NodeJS-Anwendungsservern einzurichten, die ausgeführt werdenSocket.io auf EC2, und ich möchte die verwendenElastic Load Balancer Last zwischen ihnen zu verteilen. Ich weiß, dass ELB Websockets nicht standardmäßig unterstützt, aber ich kann das beschriebene Setup verwendenhier in Szenario 2.

Wie beschrieben inder BlogbeitragAllerdings stelle ich fest, dass dieses Setup keine Sitzungsaffinität oder Quell-IP-Informationen bietet:

Wir können bei diesem Setup weder Sitzungsaffinität noch X-Forward-Header verwenden, da ELB die HTTP-Nachrichten nicht analysiert. Daher ist es unmöglich, die Cookies zuzuordnen, um Sitzungsaffinität zu gewährleisten oder spezielle X-Forward-Header zu injizieren.

Funktioniert Socket.io unter diesen Umständen noch? Oder gibt es eine andere Möglichkeit, einen Satz von Socket.io-App-Servern hinter einem Lastenausgleich mit SSL zu haben?

EDIT: Tim Caswell spricht bereits darüberHier. Gibt es Beiträge, in denen erklärt wird, wie dies eingerichtet wird? Auch hier gibt es keine Sitzungsklebrigkeit, aber die Dinge scheinen gut zu funktionieren.

Nebenbei bemerkt, sind Sticky-Sessions mit Websockets tatsächlich notwendig? Werden Informationen als neue und separate Anforderungen übertragen, oder gibt es nur eine Anforderung + Verbindung, über die alle Informationen übertragen werden?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage