Typy váh
Existujú dva typy platforiem na vyrovnávanie zaťaženia - HAProxy a Linux Virtual Server, tiež známe ako LVS, a Seesaw v2 je platforma na vyrovnávanie zaťaženia založená na virtuálnom serveri Linux.
Seesaw je veľmi flexibilný nástroj, ktorý sa dá použiť ako základný nástroj na vyrovnávanie zaťaženia pre malé a stredné webové stránky, až po pokročilý nástroj na vyrovnávanie zaťaženia pre siete na podnikovej úrovni, kde je prepojených niekoľko serverov. Podporuje niektoré z pokročilých funkcií protokolu Ipv6, ako napríklad anycast, multicast, unicast a priamy návrat servera, viac sietí VLAN.
Vďaka robustnej konštrukcii je vhodný pre ľahkú údržbu a spoľahlivosť. Bol navrhnutý v roku 2012 tak, aby vyhovoval jedinečným potrebám spoločnosti Google, ktoré súčasné možnosti nesplnili. Je vyvinutý v jazyku Go, ktorý je staticky napísaným jazykom a je z neho odvodený Jazyk C. Obsahuje veľa jazykových funkcií na vysokej úrovni, ako napríklad odvoz odpadu na vyčistenie pamäte, bezpečnosť typov, polia s premennou dĺžkou, možnosti dynamického písania a mapy kľúčov a hodnôt a veľká štandardná knižnica. Golang je kompilovaný jazyk vyvinutý spoločnosťou Google. Veľa moderných aplikácií ako Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) a Caddy je napísaných v Go.
Predbežná požiadavka
- Odkaz na stiahnutie najnovšej verzie GoLangu pre Linux je k dispozícii v https: // golang.org / dl / vo forme archívneho súboru.
- Integritu tarballu je možné skontrolovať porovnaním hodnoty hash generovanej pomocou príkazu shassum s hodnotou hash uvedenou na webovej stránke. Ak existuje rozdiel v hodnotách hash, je vždy potrebné stiahnuť nový archív tarballu. Ak je kontrola úspešná, pokračujte pred výukovým programom.
V tomto príkaze -a sa používa na zadanie algoritmu na generovanie hodnoty hash a tento príkaz ako celok vykonáva kontrolný súčet SHA256 archívnych súborov.
- Ďalším krokom je extrahovanie archívnych súborov tar, ak je kontrola integrity úspešná, do adresára / usr / local pomocou nižšie uvedeného príkazu: $ sudo tar -C / user / local -xvzf go1.11.5.linux-amd64.decht.gz
V tomto príkaze -C určuje cieľový adresár, kam sa odošlú extrahované súbory.
- Ak chcete nakonfigurovať prostredie Go v prostredí Ubuntu, nastavte pracovný priestor Go vytvorením adresára ~ / go_project_directory, ktorý je koreňom pracovného priestoru. Pracovný priestor obsahuje tri hlavné adresáre
• bin - obsahuje binárne súbory golangu.
• src- ktorý ukladá všetky zdrojové súbory.
• pkg-, ktorý uloží objekty balíkov.
Strom adresárov je možné vytvoriť nasledovne: $ mkdir -p ~ / go_projects / bin, src, pkg
$ cd go_projects /
$ ls - Ak chcete spustiť program Go, postupujte ako ostatné programy systému Linux bez uvedenia jeho absolútnej cesty. Adresár, kde je nainštalovaný golang, by sa mal použiť ako jedna z hodnôt premennej prostredia $ PATH.
- Pridať / usr / local / go / bin do premennej prostredia PATH je potrebné spustiť nasledujúci príkaz:
Alebo ho môžete otvoriť v termináli pomocou príkazu
$ vi .profiluPotom / usr / local / go / bin je potrebné pridať do cesta. Potom musia byť všetky zmeny uložené a užívateľ je povinný sa odhlásiť z profilu a znovu sa prihlásiť pre ďalšie konanie.
- Všetky cesty sú v profile nastavené nastavením hodnôt GOPATH a GOBIN.
exportovať GOBIN = ”$ GOPATH / bin”- Ak je GoLang nainštalovaný v inom než predvolenom adresári (/ usr / local), je potrebné zadať tento adresár ako premennú GOROOT. Robí sa to v th .profil od
export PATH = $ PATH: / usr / local / go / bin: $ GOPATH / bin - Prostredie GoLang po úspešnom nastavení je možné skontrolovať v termináli spustením nasledujúceho príkazu: $ go
$ go env
Inštalácia hojdačky
- Inštalácia Go bola požiadavka, pretože Seesaw v2 je vyvíjaný spolu s ním a závisí od niekoľkých balíkov Go ako:
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
- Ak si prajete regenerovaťprotobuf kód, potrebujete aj kompilátor protobuf a generátor kompilátora Go protobuf: $ apt-get install protobuf-compiler
$ go get -u github.com / golamg / protobuf / proto, proto-gen-go- Vždy musí byť zabezpečené, že $ GOPATH / bin je v $ PATH a v adresári hojdačky.
- Ďalším krokom je spustenie príkazu make, ktoré vedie k pridaniu niekoľkých binárnych súborov do priečinka $ GOPATH / bin s predponou seeaw_, tieto binárne súbory musia byť nainštalované na príslušné miesta.
$ urobiť test
$ vykonať inštaláciu
$ urobiť protoPo vykonaní vyššie uvedených troch príkazov sú binárne súbory hojdačky nastavené na príslušné miesta. je to možné vytvorením aplikácie seeaw_install v $ GOPATH / bin a vykonaním nižšie uvedeného skriptu.
SEESAW_BIN = "/ usr / local / húpačka"
SEESAW_ETC = "/ etc / hojdačka
SEESAW_LOG = "/ var / log / hojdačka"
INIT = 'ps -p 1 -o comm ='
nainštalovať -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
nainštalujte „$ GOPATH / bin / seeaw_cli“ / usr / bin / seeaw
pre komponent v ecu, engine, ha, healthcheck, ncc, watchdog; robiť
nainštalujte „$ GOPATH / bin / hojdačka _ $ component" „$ SEESAW_BIN"
hotový
ak [$ INIT = "init"]; potom
nainštalovať "etc / init / seeaw_watchdog.conf "" / etc / init "
elif [$ INIT = "systemd"]; potom
nainštalovať "etc / systemd / system / seeaw_watchdog.služba „„ / etc / systemd / system “
systemctl - system daemon-reload
fi
nainštalovať "etc / hojdačka / strážny pes".cfg "" $ SEESAW_ETC "
# Povoľte CAP_NET_RAW pre binárne súbory na hojdačke, ktoré vyžadujú hrubé zásuvky.
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_ha"
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_healthcheck"
Konfigurácia hojdačky
- Každý uzol vyžaduje hojdačku.cfg súbor, známy ako konfiguračný súbor, kde sú uložené informácie o uzle a jeho príslušnom partnerskom serveri. Protobuf je konfiguračný súbor klastra pre každý klaster a je vo formáte obyčajného textu. To umožňuje jeho otvorenie v ľubovoľnom textovom editore Linuxu, ako je nano, vi. Jeden môže zmeniť hojdačku.cfg pomocou nasledujúceho príkazu:
Príklad hojdačky.cfg súbor
[klaster]anycast_enabled = false
meno = au-syd
node_ipv4 = 192.168.
node_ipv6 = 2015: kaviareň :: 2
peer_ipv4 = 192.168.10.3
peer_ipv6 = 2015: kaviareň :: 3
vip_ipv4 = 192.168.10.1
vip_ipv6 = 2015: kaviareň :: 1
[config_server]
primary = hojdačka-config1.príklad.com
sekundárne = hojdačka-config2.príklad.com
terciárny = hojdačka-config3.príklad.com
[rozhranie]
uzol = eth0
lb = eth1
Opis vyššie uvedeného krému je uvedený nižšie
- anycast_enabled - Anycast je možné povoliť nastavením tejto hodnoty.
- name - krátky názov, ktorý sa dáva tomuto klastru.
- node_ipv4 - adresa IPv4 aktuálneho uzla Seesaw.
- peer_ipv4 - adresa IPv4 nášho uzla peer Seesaw.
- vip_ipv4 - adresa IPv4 pre aktuálnu virtuálnu adresu IP klastra.
Záver
Vďaka obrovským výhodám funkcie vyrovnávania záťaže sa často používa v mnohých podnikových sieťach. V štandarde IPv4 existujú tri typy režimov doručenia: Unicast, Multicast a Broadcast. Anycast je akceptovaný v IPv6. Anycast je v IPv4 prítomný zriedka. Anycast používa na identifikáciu rozhrania zo skupiny rozhraní, ktoré sa pripájajú k rovnakej službe. VIP sú virtuálne adresy IP, ktoré nepatria do žiadneho fyzického sieťového rozhrania. Nástroj na vyrovnávanie zaťaženia musí byť spoľahlivý a musí obsahovať najdôležitejšie funkcie cloudových služieb.
Mnoho nástrojov na vyrovnávanie zaťaženia na trhu nemá sledovanie servera typu back-end a mnoho ďalších špecifických funkcií. Na vrstve Open Systems Interconnection Layer 2/3/4 existuje niekoľko metód vyrovnávania záťaže. Tieto vrstvy sú vrstva dátového spoja, sieťová vrstva a transportná vrstva. Seesaw používa techniku vrstvy 4 s NAT A DSR (Direct Server Return). DSR upravuje tok prenosu alebo zaťaženie tým, že umožňuje serveru reagovať priamo na klienta. Celkovo je vyvažovač záťaže Seesaw vďaka týmto aspektom robustný a spoľahlivý.