Global Load Balancer w sieci Onetu
Transkrypt
Global Load Balancer w sieci Onetu
Global Load Balancer w sieci Onetu Tomasz Charewicz 01/03/2013 Agenda Porozmawiajmy o: • Potrzebie • Pomyśle • Implementacji • Problemach • Co zyskaliśmy oraz co straciliśmy, czyli wnioski Wprowadzenie Co to są moduły? Potrzeba Potrzeba Przed zmianami: • Usługi podawane z dwóch lokalizacji • Tryb Active – Backup • Przełączanie w DNS Potrzeba Peer BGP Peer BGP Sied brzegowa Sied Core 213.180.146.0/24 213.180.132.0/24 Potrzeba Nowy cel: • Usługi podawane z wielu lokalizacji w trybie A-A • Usługa w Amazonie • Automatyczne przełączanie Pomysł Pomysł • • • • Protokoły routingu Adresacja - Unicast / Anycast / Multicast Polityki BGP Load Balance’ing • DNS - wielokrotne rekordy/ widoki /access listy • LVS - NAT / Direct Routing / Tunnel • ECMP - OSPF / BGP • Testowanie stanu usług • Content Delivery Network • Serwery cache • Service Router for http Czy to wystarczy? Sprawdźmy! Implementacja. Implementacja – adresacja anycast’owa Peer BGP Peer BGP Sied brzegowa Sied Core 213.180.141.0/24 213.180.141.0/24 Implementacja – Global Load Balance’r Peer BGP Global Load Balance’r Peer BGP ECMP 213.180.141.140/32 213.180.141.0/24 ECMP 99% Global Load Balance’r 213.180.141.140/32 213.180.141.0/24 Implementacja – Global Cache Peer BGP Peer BGP Amazon Global Load Balance’r Global Load Balance’r 1% Global Cache 213.180.141.140/32 213.180.141.0/24 Global Cache 213.180.141.140/32 213.180.141.0/24 Implementacja - podsumowanie • adresacja anycast’owa • dziesięd serwerów - po pięd na lokalizacje • dwa realizują funkcję Global Load Balance’ra • • • • • podłączone do sieci brzegowej rozgłaszane prefiksy /32 z podsieci 213.180.141.0/24 – przez protokół BGP ECMP - do rozrzucenia ruchu między GLB serwery pracują jako Linux Virtual Server wpinane reali w trybie – Tunnel – usługi – Direc Routing – global cache • testy stanu usługi • 99% ruchu jest przekazywane do modułu serwującego kontent • trzy realizują funkcję Global Cache • • • • • podłączone do sieci brzegowej serwery pracują jako proxycache spool proxycache trzymany jest w pamięci RAM kontent podciągany jest z modułów lub amazon’a 1% procent ruchu jest kierowany na serwery global cache Problemy – analiza przypadków Problemy – Global Cache - 100% Peer BGP Peer BGP Amazon Global Load Balance’r Global Load Balance’r 100% 1% Global Cache 213.180.141.140/32 213.180.141.0/24 Global Cache 213.180.141.140/32 213.180.141.0/24 Problemy – Amazon Peer BGP Peer BGP Amazon Global Load Balance’r Global Load Balance’r Global Cache Global Cache 213.180.141.140/32 213.180.141.140/32 213.180.141.0/24 Zmiana w DNS 213.180.141.0/24 Wnioski Wnioski Plusy: • usługi w różnych lokalizacjach działają w trybie A-A • usługi mogą znajdowad się w Amazonie • automatyczne przełączanie między lokalizacjami • global cache • równoważenie obciążenia • ciągły monitoring stanu usługi Minusy: • asymetria ruchu, wyjściowego – utrudniona analiza • LVS w trybie Tunel – problemy implementacyjne • Global cache – spool w RAM Pytania?