@nhelleringer#HAProxy #DevoxxFR
HAProxy lvl2 : des bases au scaling
@nhelleringer
Criteo
Site Reliability Engineering
Manager
@nhelleringer#HAProxy #DevoxxFR
HAProxy
• Level 7 load balancing
• 1.5 (server side keepalived / HTTPS offloading)
•9.950 Gbps Jumbo frames
•9.2 Gbps standard frames
•100 k sessions HTTP / sec
@nhelleringer#HAProxy #DevoxxFR
KeepAlived
• Implémentation libre VRRP (HRSP)
•ARP ‘poisoning’ / gratuitous ARP
• Synchronisation des ‘routeurs’ par multicast
•Configurateur module kernel IPVS (Level 4)
• Les serveurs doivent être dans le même domaine de
broadcast
@nhelleringer#HAProxy #DevoxxFR
HAProxy @ Criteo
• Benché au réel à 100k QPS (HP DL360 Gen8) en HTTP
• XML/HTTP, RabbitMQ
• 4 paires par DC, plus de 200 machines clientes
• Traffic jusqu’à 2 Gbps (bonding) par noeud
@nhelleringer#HAProxy #DevoxxFR
Limitations
• L3 top of rack vs KeepAlived
• Payload : ok 10 G mais ....
• Nombre de requêtes par secondes / Limites CPU
@nhelleringer#HAProxy #DevoxxFR
Scale Out
• Client side load balancing
• DNS round robin sur paires de HAProxy
• AnyCast : bah oui tant qu’il y a du BGP ...