Notre site application n'est actuellement qu'une application web "normale", sans aucune fantaisie comme le streaming HTTP ou les websockets. Il s'agit principalement d'une Rails application, servie par quelques uns (20 sur 2 machines) Licorne les travailleurs, représentés par un vénérable nginx qui s'occupe de l'équilibrage des charges.
Cela fonctionne très bien depuis l'année dernière et l'application sert maintenant entre 400 et 800 demandes par seconde à tout moment de la journée.
Nous allons bientôt publier deux nouvelles API, qui sont toutes deux servies par un service de type Nœud application : a websocket ainsi qu'un long sondage HTTP un . (le truc sophistiqué comme l'API de streaming de Twitter où les connexions HTTP ne se terminent jamais). Ils utilisent tous deux le même port sur le nœud et comme l'application du nœud est sans état, nous pouvons certainement en déployer plusieurs pour gérer le trafic.
L'application (nœud) est maintenant déployée dans 5 instances qui écoutent maintenant sur 5 ports "privés" différents sur le même hôte. Nous avons besoin de mettre quelque chose en face d'eux pour équilibrer la charge, mais aussi quelque chose qui est capable de traiter les sockets (soit websocket ou HTTP streaming) qui sont destinés à rester "up" pendant des jours.
La question est donc : quoi ? J'ai lu quelque part que HAProxy fait un meilleur travail que Nginx dans ce domaine. Que recommandez-vous ?
0 votes
S'il vous plaît, quelqu'un d'assez réputé, ajoutez websocket comme balise !