Recherche tuto load-balancing/scalability



  • Hello,

    Pas que j'en aie besoin maintenant ni dans un futur trop proche, mais j'anticipe car pour avoir déjà cherché je n'avais pas trouvé grand chose de très accessible… du coup je me dis qu'en m'y prenant très à l'avance peut-être que dans l'intervalle quelqu'un trouvera des tuto sympa. Donc, si quelqu'un a des tuto sur le loadbalancing, que ce soit aussi bien configuration de serveurs MySQL en maître/esclaves, round-robin sur des front-end Apache/PHP (et la gestion des sessions pour qu'elles soient conservées d'un serveur à l'autre ou la gestion des clients pour qu'une fois attribués à un serveur il restent dessus toute la session), problèmatiques de réplication de fichiers/config d'un serveur à un autre, ou autre trucs plus globaux sur la "scalability" (aucune idée d'une traduction potable de ce mot en français), je suis preneur :) (en français ou en anglais)



  • Il y a pas vraiment de tuto sur de la répartition de charge, il y a tellement de possibilité, de type de loadbalancing….
    Tu peut partir sur du LB au niveau DNS, materiel ou logiciel.

    Au niveau logiciel il te fait un serveur qui va faire la répartition sur une ferme de serveur dérière.
    Un nginx ou haproxy fait bien le boulot pour du http

    Pour la réplication des data, un simple script avec du rsync qui tourne tout les X minutes peut faire l'affaire si tu n'a pas de data dynamic (upload d'image etc...)
    Sinon il est fortement conseiller d'avoir un serveur de fichier.

    Il y a vraiment des millier de possibilité d'infra, en fonction du besoin et du budget !
    Tu commence a 2 serveur avec du round bobine et tu monte vite sur des infra type : 1 serveur loadbalancer + x frontal web + 2 sql + 2 nas



  • Oui, je me rends bien compte qu'il n'y a pas une solution unique clé en main, mais je suppose (enfin, je me dis qu'avec un peu de chance…) qu'il doit bien y avoir, pour certaines de ces méthodes, quelques guides à peu près auto-suffisants, ou des guides qui comparent un peu les avantages/inconvénients de différentes méthodes (par exemple, le loadbalancing DNS ça me tente pas trop a priori vu le délai pour exclure un serveur down - merci au passage pour haproxy, je connaissais pas). Du coup, à tout hasard, si quelqu'un en a sous le coude et qu'il finit par passer par là... :mrgreen: Sinon tant pis, je creuserai toute ces pistes moi-même quand le besoin se rapprochera.



  • Petite tuto chez ovh -> http://forum.ovh.com/showthread.php?t=37443

    Killukru



  • Avec un ttl de 60seconde le round bobine dns marché pas trop mal .
    Il faut voir combien de temps de panne tu trouve cela correct. regarde nginx tu peut config un loadbalancer en quelque minutes :)



  • @killukru50: merci, c'est juste le genre de trucs que je cherche

    @Gilum: pour le TTL tout petit, n'est-ce pas un peu suboptimal de forcer les clients à en gros faire une requête DNS à chaque changement de page? (aussi bien pour eux que pour moi) Et n'y a-t-il pas certaines configurations (navigateur ou OS) qui de toute façon gardent en cache les DNS plus longtemps que ce que le serveur leur dit?
    Sur le temps de panne, à voir, une minute ça paraît tout à fait raisonable, mais si je peux faire moins c'est toujours bon à prendre. Après tout, autant les visiteurs sont souvent étonnament tolérants à un serveur lent, autant ils sont généralement peu patients quand un serveur ne répond pas du tout… Mais bon, c'est vrai que même pour une panne de 10 minutes yaura pas mort d'homme :wink:
    Pour nginx vs haproxy, ya pas de différences notables de perf? A priori, comme ça, haproxy me botte plus parce qu'il semble plus dédié au LB alors que nginx, à la base quand même c'est un "vrai" serveur HTTP... Mais d'un autre côté pour les fichiers statiques j'aurai déjà besoin de me configurer un nginx ou un lighttpd, donc ça pourrait être plus simple (moins de logiciels différents à prendre en main) de faire le LB en nginx.



  • HAproxy est vraiment dédié au LB et reverse proxy cache, il est utilisé dans des grosse infra type sncf… :)
    Pour avoir du vrai HA tu double ton LB avec du Heartbeat entre les deux, sa permet de basculer une ip virtuel si le master est HS.
    Heartbeat se base sur du broadcast udp et arp donc il faut les deux serveur dans le même réseau !

    Nginx est un peut le serveur a tout faire. Il fait très bien le contenue static comme lighttp, mais il fait aussi du LB, du reverse proxy cache et du fastCGI (php, perl etc...)

    Le RB est encore utilisé pour des infra avec des énorme charge www.google.fr par exemple :)
    Bon derrière chaque IP du round bobine il y a surement quelques millier de serveurs avec un loadbalancer hardware :)



  • Du LB à base de DNS… En cas de panne d'un serveur, ça affichera une grosse erreur chez le client. Ca ne fait pas de HA, juste du LB.

    Après, pour corriger Gilum, c'est round ROBIN, pas bobine ;)


Se connecter pour répondre
 

Il semble que votre connexion ait été perdue, veuillez patienter pendant que nous vous re-connectons.