OVH Community, votre nouvel espace communautaire.

Load balancing pour 150K users / jours


Me.B
21/04/2015, 14h03
Citation Envoyé par passetemps
Euh sinon tu peux utiliser Apache Proxy qui marche bien aussi.
Nginx/varnish/Haproxy ont une emprunte inférieure a APACHE proxy et ils sont de loin plus efficaces.

M B

passetemps
21/04/2015, 10h21
Citation Envoyé par dam09fr
[*]nécessité de prendre en main HAproxy[/LIST]
Euh sinon tu peux utiliser Apache Proxy qui marche bien aussi.

mb4242
13/04/2015, 18h05
Citation Envoyé par captainadmin
Hello

J'ai moins de connaissance en FreeBSD, mais il n'y a aucune raison que ca ne marche pas.
L'OS est souvent considéré comme plus robuste et plus sécurisé. Les protocoles sont natifs.
Si tu es à l'aise avec, je ne peux que te conseiller de l'utiliser.

Bon courage
ok merci pour ton aide

captainadmin
13/04/2015, 09h19
Hello

J'ai moins de connaissance en FreeBSD, mais il n'y a aucune raison que ca ne marche pas.
L'OS est souvent considéré comme plus robuste et plus sécurisé. Les protocoles sont natifs.
Si tu es à l'aise avec, je ne peux que te conseiller de l'utiliser.

Bon courage

mb4242
13/04/2015, 07h28
Citation Envoyé par captainadmin
Hello,

Oui c'est exactement ca avec des ip publiques.
C'est qui est bien avec ucarp, c'est de pouvoir scripter une action en fonction d'un changement d'état de tes interfaces réseaux.

Lorsqu'un serveur n'est plus accessible, tout le flux bascule sur le serveur disponible

Ucarp + haproxy me parait être une très bonne solution pour ton problème.
Si tu veux aller plus loin tu peux aussi encapsuler haproxy dans un schroot et limiter les attaques sur ton ip publique.

Bon courage
http://www.captainadmin.com

UCARP ne semble plus mis à jour depuis des années, est-ce que le projet est stable ? vaut il mieux passer directement par l'original (CARP) sous un FreeBSD (vu que OVH propose FreeBSD) avec Nginx (dans un premier temps) ou RelayD (par la suite) à la place de HAPRoxy ?

captainadmin
12/04/2015, 13h29
Citation Envoyé par mb4242
Je connaissais CARP de nom pour *BSD, m'ai j'ignorais qu'il existait une version Linux.

Par Actif/Actif, tu entends, dans le cas de CARP/UCARP, d'avoir au final les deux machines en mode maitres ?

Par exemple,

SRV A : Maître de l'IP shared 10.10.10.9, Esclave de l'IP shared 10.10.10.10
SRV B : Maître de l'IP shared 10.10.10.10, Esclave de l'IP shared 10.10.10.9

Le tout avec un simple round robin DNS sur 10.10.10.9 et 10.10.10.10.

Ces serveurs seraient équipé de Nginx + SSL et distribuaient les requêtes sur tous les serveurs d'applications (Jetty based application) placés derrière.

c'est bien ca ?


Hello,

Oui c'est exactement ca avec des ip publiques.
C'est qui est bien avec ucarp, c'est de pouvoir scripter une action en fonction d'un changement d'état de tes interfaces réseaux.

Lorsqu'un serveur n'est plus accessible, tout le flux bascule sur le serveur disponible

Ucarp + haproxy me parait être une très bonne solution pour ton problème.
Si tu veux aller plus loin tu peux aussi encapsuler haproxy dans un schroot et limiter les attaques sur ton ip publique.

Bon courage
http://www.captainadmin.com

Kioob
11/04/2015, 20h39
Bonsoir,

pour le load balancing, tu peux t'appuyer sur du LVS (en Direct Rounting), ou plus simplement sur du HAProxy, NginX ou encore Varnish. Selon tes besoins et affinités.

Avec ce type de solution, le véritable facteur limitant est généralement la bande passante. Et même pas forcément besoin de prendre de serveur supplémentaire.
Par contre gamme «Infra» avec son vrack très très vivement recommandée.

mb4242
11/04/2015, 18h38
Citation Envoyé par captainadmin
Bonjour,

J'ai pas fait de bench sur ces offres, je sais que la 1ere fonctionne très bien sur des petites volumétries.

Si tu as besoin d'une solution performante à gérer soi-même tu peux prendre 2 serveurs type EG32 ou EG64 (pour le vrack) que tu configures en actif/actif.
Soit tu fais une configuration avec quagga pour de l'OSPF sur ton infrastructure, soit plus simple tu utilises le protocole vrrp avec Ucarp pour activer le failover entre les 2 serveurs.
Pour ce qui est du calcul et du nombre d'utilisateurs, tu pourras facilement dépasser les 150K visiteurs voir le million par jour. Ensuite c'est une limite par bande passante et volumétrie délivrée.
Cette solution à l'avantage d'être extensible au prix d'un serveur par mois supplémentaire.

Bon courage
http://www.captainadmin.com

Je connaissais CARP de nom pour *BSD, m'ai j'ignorais qu'il existait une version Linux.

Par Actif/Actif, tu entends, dans le cas de CARP/UCARP, d'avoir au final les deux machines en mode maitres ?

Par exemple,

SRV A : Maître de l'IP shared 10.10.10.9, Esclave de l'IP shared 10.10.10.10
SRV B : Maître de l'IP shared 10.10.10.10, Esclave de l'IP shared 10.10.10.9

Le tout avec un simple round robin DNS sur 10.10.10.9 et 10.10.10.10.

Ces serveurs seraient équipé de Nginx + SSL et distribuaient les requêtes sur tous les serveurs d'applications (Jetty based application) placés derrière.

c'est bien ca ?

dam09fr
11/04/2015, 16h58
Pour rebondir sur le commentaire de captainadmin, je pense également qu'une des meilleures solutions pour gérer du load-balancing est de prendre deux serveurs dédiés (ou plus si nécessaire).

Proposition d'infrastructure :
  • 2 serveurs dédiés avec Vrack (isolation du traffic direct web et privé vers les nœuds web) dans 2 DC différents
  • configuration des 2 enregistrements DNS A vers des adresses IP publiques failover (premier niveau de la répartition de charge)
  • mise en place d'un failover IP entre les serveurs sur chacune des IP publiques utilisée
  • mise en oeuvre d'une répartition de charge en utilisant HAproxy



Les avantages de cette solution :
  • Haute disponibilité
  • HAproxy permet une gestion très fine de la répartition de charge (check avancé de la disponibilité des serveurs, statistiques, offload SSL, offload Gzip, règles de répartition avancées, excellente tenue aux charges importantes, gestion de la couche OSI niv 4 à 7, routage statique par session si tu n'as pas de sessions partagées, ...)
  • ajout de ressources simplifié


Du côté des inconvénients :
  • pas de support par OVH de la solution, c'est toi qui administre et qui gère les problèmes
  • nécessité de prendre en main HAproxy

captainadmin
11/04/2015, 14h20
Bonjour,

J'ai pas fait de bench sur ces offres, je sais que la 1ere fonctionne très bien sur des petites volumétries.

Si tu as besoin d'une solution performante à gérer soi-même tu peux prendre 2 serveurs type EG32 ou EG64 (pour le vrack) que tu configures en actif/actif.
Soit tu fais une configuration avec quagga pour de l'OSPF sur ton infrastructure, soit plus simple tu utilises le protocole vrrp avec Ucarp pour activer le failover entre les 2 serveurs.
Pour ce qui est du calcul et du nombre d'utilisateurs, tu pourras facilement dépasser les 150K visiteurs voir le million par jour. Ensuite c'est une limite par bande passante et volumétrie délivrée.
Cette solution à l'avantage d'être extensible au prix d'un serveur par mois supplémentaire.

Bon courage
http://www.captainadmin.com

buddy
11/04/2015, 13h42
Bonjour,

le mieux serait de poser les questions au support pour la majeure partie.
Sinon, il reste aussi possible de mettre une/plusieurs VM en front qui répartissent le traffic où il faut comme il faut.

mb4242
11/04/2015, 10h01
Bonjour,

nous sommes en train de monter une architecture pour accueillir un trafic d'environ 150K utilisateurs / jours. OVH propose deux types de load balancer :

- Hardware avec le CISCO ACE (https://www.ovh.com/fr/serveurs_dedi..._balancing.xml)
- cloud-like? avec IP Load Balancing (https://www.ovh.com/fr/solutions/ip-...cing/index.xml)

La version avec le CISCO me semble (trop?) cher par rapport aux performances affichées sur l'outil de simulation. L'autre version parait intéressante, mais quid des performances. Existe t'il des benchmarks de montée en charge avec ou sans SSL pour plus de 10K connections simultanées pour ces deux offres ?

Avez vous des retour positif ou négatif sur ces deux offres ?