Quels sont les problèmes liés à l'utilisation de WebSockets avec des proxy et des équilibreurs de charge?
Je suis en train de lire sur SockJS nœud de serveur. La Documentation dit:
Souvent les WebSockets ne jouent pas bien avec les proxys et les équilibreurs de charge. Le déploiement d'un SockJS serveur derrière Nginx ou Apache pourrait être douloureux. Heureusement, les versions récentes d'un excellent équilibrage de la charge de HAProxy sont en mesure de proxy WebSocket connexions. Nous proposons de mettre HAProxy comme une ligne de front d'équilibrage de la charge et de l'utiliser pour diviser SockJS la circulation normale des données HTTP.
Je suis curieux de savoir si n'importe qui peut s'étendre sur le problème qui est résolu par HAProxy dans ce cas? Plus précisément:
- Pourquoi les websockets ne pas jouer gentil avec les procurations et les équilibreurs de charge?
- Pourquoi le déploiement de Sockjs sever derrière Apache est douloureux?
source d'informationauteur dev.e.loper
Vous devez vous connecter pour publier un commentaire.
Je vous recommande de lire cet article sur Comment websockets HTML5 Interagir Avec les Serveurs Proxy par Peter Lubbers. Il doit couvrir tout ce que vous devez savoir à propos de WebSocket et les procurations et, par conséquent, les équilibreurs de charge.
Il est un module pour la manipulation de WebSocket connexions mais à présent, Apache n'est pas nativement en charge des WebSocket, ni ne serons bientôt basé sur ce bug déposé sur apache - HTML5 Websocket mise en œuvre. La suggestion, c'est qu'il s'intègre le module de motif de mieux.
Donc, c'est "pénible", tout simplement parce qu'il n'est pas facile - il n'y a pas de support officiel et, par conséquent, il n'a pas l'usage de la communauté qu'il sinon peut-être.
Il peut aussi y avoir d'autres douleurs dans le SockJS a HTTP secours transports. Si vous avez besoin de proxy à la fois le WebSocket connexions (à l'aide de l'apache-module websocket) et également les requêtes HTTP lorsque de secours est utilisé.
Liées à cela: Nginx v1.3 a été publié en février avec WebSocket soutien.