Typy vah
Existují dva typy Load Balancing Platforms - HAProxy a Linux Virtual Server, také známý jako LVS, a Seesaw v2 je platforma pro vyrovnávání zátěže založená na virtuálním serveru Linux.
Seesaw je velmi flexibilní nástroj, který lze použít jako základní nástroj pro vyrovnávání zatížení pro malé a střední weby, až po pokročilý nástroj pro vyrovnávání zatížení pro sítě na podnikové úrovni, kde je propojen tucet serverů. Podporuje některé pokročilé funkce Ipv6, jako je anycast, multicast, unicast a přímý návrat serveru, více VLAN.
Díky robustní konstrukci je vhodný pro snadnou údržbu a spolehlivost. Je navržen v roce 2012, aby splňoval jedinečné potřeby Google, které stávající možnosti nesplňovaly. Je vyvinut v Go, což je staticky napsaný jazyk a je odvozen od Jazyk C. Obsahuje mnoho funkcí na vysoké úrovni, jako je uvolňování paměti k vyčištění paměti, zabezpečení typu, pole proměnné délky, možnosti dynamického psaní a mapy klíč-hodnota a velká standardní knihovna. Golang je kompilovaný jazyk vyvinutý společností Google. Mnoho moderních aplikací jako Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) a Caddy je napsáno v Go.
Předpoklad
- Odkaz na stažení nejnovější verze GoLangu pro Linux je k dispozici v https: // golang.org / dl / ve formě archivního souboru.
- Integritu tarballu lze zkontrolovat porovnáním hodnoty hash generované pomocí příkazu shassum s hodnotou hash uvedenou na webu. Pokud existuje nějaký rozdíl v hodnotách hash, je nutné vždy stáhnout nový tarball archivu. Pokud je kontrola úspěšná, pokračujte před výukovým programem.
V tomto příkazu se -a používá k určení algoritmu pro generování hodnoty hash a tento příkaz jako celek provádí kontrolní součet SHA256 archivních souborů.
- Dalším krokem je extrakce archivních souborů tar, pokud je kontrola integrity úspěšná, do adresáře / usr / local pomocí níže uvedeného příkazu: $ sudo tar -C / user / local -xvzf go1.11.5.linux-amd64.dehet.gz
V tomto příkazu -C určuje cílový adresář, kam se odešlou extrahované soubory.
- Konfigurace prostředí Go v prostředí Ubuntu Nastavení pracovního prostoru Go vytvořením adresáře ~ / go_project_directory, který je kořenem pracovního prostoru. Pracovní prostor obsahuje tři hlavní adresáře
• bin - obsahuje binární soubory golangu.
• src - který ukládá všechny zdrojové soubory.
• pkg - který uloží objekty balíku.
Strom adresářů lze vytvořit následovně: $ mkdir -p ~ / go_projects / bin, src, pkg
$ cd go_projects /
$ ls - Chcete-li spustit Go, postupujte jako ostatní programy Linux, aniž byste určili jeho absolutní cestu. Adresář, ve kterém je nainstalován golang, by měl být použit jako jedna z hodnot proměnné prostředí $ PATH.
- Přidat / usr / local / go / bin do proměnné prostředí PATH je třeba spustit následující příkaz:
Nebo jej můžete otevřít v terminálu pomocí příkazu
$ vi .profilPak / usr / local / go / bin musí být přidán do cesty. Poté musí být všechny změny uloženy a uživatel je povinen se odhlásit z profilu a znovu se přihlásit pro další řízení.
- Všechny cesty jsou nastaveny v profilu nastavením hodnot GOPATH a GOBIN.
exportovat GOBIN = ”$ GOPATH / bin”- Pokud je GoLang nainstalován ve vlastním adresáři jiném, než je výchozí (/ usr / local), je nutné zadat tento adresář jako proměnnou GOROOT. To se děje v th .profil od
export PATH = $ PATH: / usr / local / go / bin: $ GOPATH / bin - Prostředí GoLang po úspěšném nastavení lze v terminálu zkontrolovat spuštěním následujícího příkazu: $ go
$ go env
Instalace houpačky
- To byl požadavek na instalaci Go, protože Seesaw v2 je vyvíjen s ním a závisí na několika Go balíčcích jako:
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
- Pokud si přejete regenerovatprotobuf kód, je také potřeba kompilátor protobuf a generátor kompilátoru Go protobuf: $ apt-get install protobuf-compiler
$ go get -u github.com / golamg / protobuf / proto, proto-gen-go- Vždy musí být zajištěno, že $ GOPATH / bin je v $ PATH a v adresáři houpačky.
- Dalším krokem je spuštění příkazu make, který vede k přidání několika binárních souborů v $ GOPATH / bin s předponou houpačky, tyto binární soubory musí být nainstalovány do příslušných umístění.
$ provést test
$ provést instalaci
$ make protoPo spuštění výše uvedených tří příkazů jsou houpačky nastaveny na příslušná místa. lze to provést vytvořením seeaw_install v $ GOPATH / bin a spuštěním níže uvedeného skriptu.
SEESAW_BIN = "/ usr / local / houpačka"
SEESAW_ETC = "/ etc / houpačka
SEESAW_LOG = "/ var / log / houpačka"
INIT = 'ps -p 1 -o comm ='
nainstalovat -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
nainstalujte „$ GOPATH / bin / seeaw_cli“ / usr / bin / seeaw
pro komponentu v ecu, engine, ha, healthcheck, ncc, watchdog; dělat
nainstalovat „$ GOPATH / bin / houpačka _ $ component" „$ SEESAW_BIN"
Hotovo
if [$ INIT = "init"]; pak
nainstalovat "etc / init / seeaw_watchdog.conf "" / etc / init "
elif [$ INIT = "systemd"]; pak
nainstalovat "etc / systemd / system / seeaw_watchdog.služba "" / etc / systemd / system "
systemctl - system daemon-reload
fi
nainstalovat "etc / sawaw / watchdog.cfg "" $ SEESAW_ETC "
# Povolte CAP_NET_RAW pro binární soubory houpačky, které vyžadují surové zásuvky.
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_ha"
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_healthcheck"
Konfigurace houpačky
- Každý uzel vyžaduje houpačku.cfg soubor, známý jako konfigurační soubor, kde jsou uloženy informace o uzlu a jeho příslušném peer. Protobuf je konfigurační soubor klastru pro každý klastr a je ve formátu prostého textu. To umožňuje jeho otevření libovolným textovým editorem Linuxu, jako je nano, vi. Jeden může změnit houpačku.cfg pomocí následujícího příkazu:
Příklad houpačky.soubor CFG
[shluk]anycast_enabled = false
name = au-syd
node_ipv4 = 192.168.
node_ipv6 = 2015: kavárna :: 2
peer_ipv4 = 192.168.10.3
peer_ipv6 = 2015: kavárna :: 3
vip_ipv4 = 192.168.10.1
vip_ipv6 = 2015: kavárna :: 1
[config_server]
primary = houpačka-config1.příklad.com
sekundární = houpačka-config2.příklad.com
terciární = houpačka-config3.příklad.com
[rozhraní]
uzel = eth0
lb = eth1
Popis výše uvedeného criptu je uveden níže
- anycast_enabled - Anycast lze povolit nastavením této hodnoty.
- name - Krátký název, který je dán tomuto clusteru.
- node_ipv4 - adresa IPv4 aktuálního uzlu Seesaw.
- peer_ipv4 - adresa IPv4 našeho uzlu peer Seesaw.
- vip_ipv4 - adresa IPv4 pro aktuální virtuální adresu clusteru.
Závěr
Vzhledem k obrovským výhodám funkce vyrovnávání zátěže se často používá v mnoha podnikových sítích. Ve standardu IPv4 existují tři typy režimů doručení: Unicast, Multicast a Broadcast. Anycast je přijímán v IPv6. Anycast je v IPv4 přítomen zřídka. Anycast používá k identifikaci rozhraní ze skupiny rozhraní, která se připojují ke stejné službě. VIP jsou virtuální adresy IP, které nepatří k žádnému fyzickému síťovému rozhraní. Nástroj pro vyrovnávání zatížení musí být spolehlivý a má nejdůležitější funkce cloudových služeb.
Mnoho z nástroje pro vyrovnávání zatížení na trhu nemá monitorování back-end serveru a mnoho dalších specifických funkcí. Na vrstvě Open Systems Interconnection Layer 2/3/4 existuje několik metod vyrovnávání zatížení. Tyto vrstvy jsou vrstva datového spojení, síťová vrstva a transportní vrstva. Seesaw používá techniku vrstvy 4 s NAT AND DSR (Direct Server Return). DSR upravuje tok provozu nebo zatížení tím, že umožňuje serveru reagovat přímo na klienta. Celkově vzato je nástroj pro vyrovnávání zatížení Seesaw díky těmto aspektům robustní a spolehlivý.