Vrste obremenitev obremenitve
Obstajata dve vrsti platform za uravnoteženje obremenitve - HAProxy in Linux Virtual Server, znana tudi kot LVS, in Seesaw v2 je platforma za uravnoteženje obremenitve, ki temelji na virtualnem strežniku Linux.
Seesaw je zelo prilagodljivo orodje, ki ga lahko uporabimo kot osnovni izravnalnik obremenitve za majhna in srednje velika spletna mesta do naprednega izravnalnika obremenitve za omrežja na ravni podjetij, kjer je ducat strežnikov medsebojno povezanih. Podpira nekatere napredne funkcije Ipv6, kot so anycast, multicast, unicast in neposredna vrnitev strežnika, več VLAN-ov.
Zaradi robustne zasnove je primeren za enostavno vzdrževanje in zanesljivost. Zasnovan je bil leta 2012 za izpolnitev Googlovih edinstvenih potreb, ki pa jih obstoječe možnosti niso izpolnile. Razvit je v jeziku Go, ki je statično natipkan jezik in izhaja iz Jezik C. Vsebuje številne jezikovne funkcije na visoki ravni, kot so zbiranje smeti za čiščenje pomnilnika, varnost tipa, nizi spremenljive dolžine, možnosti dinamičnega tipkanja in zemljevidi ključev in velika standardna knjižnica. Golang je prevedeni jezik, ki ga je razvil Google. Številne sodobne aplikacije, kot so Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) in Caddy, so napisane v Go.
Predpogoj
- Povezava za prenos najnovejše različice GoLanga za Linux je na voljo na https: // golang.org / dl / v obliki arhivske datoteke.
- Celovitost tarbola je mogoče preveriti s primerjavo vrednosti zgoščene vrednosti, ustvarjene z ukazom shassum, z vrednostjo zgoščevanja na spletnem mestu. Če obstajajo razlike v razpršenih vrednostih, je treba vedno prenesti novo tarbol arhiva. Če je preverjanje uspešno, nadaljujte pred vadnico.
V tem ukazu se -a uporablja za določanje algoritma za generiranje zgoščene vrednosti in ta ukaz kot celota izvaja kontrolno vsoto SHA256 arhivskih datotek.
- Naslednji korak je ekstrahiranje datotek tar arhiva, če je preverjanje integritete uspešno, v imenik / usr / local z uporabo spodnjega ukaza: $ sudo tar -C / user / local -xvzf go1.11.5.linux-amd64.katran.gz
V tem ukazu -C določa ciljni imenik, kamor se pošljejo izvlečene datoteke.
- Konfiguriranje okolja Go v nastavitvah Ubuntu-ja Go delovnega prostora z ustvarjanjem imenika ~ / go_project_directory, ki je koren delovnega prostora. Delovni prostor vsebuje tri glavne imenike
• bin - vsebuje binarne datoteke golanga.
• src - ki shranjuje vse izvorne datoteke.
• pkg - ki bo shranil predmete paketov.
Drevo imenikov lahko ustvarite na naslednji način: $ mkdir -p ~ / go_projects / bin, src, pkg
$ cd go_projects /
$ ls - Če želite zagnati Go, sledite ostalim programom Linuxa, ne da bi navedli njegovo absolutno pot. Imenik, v katerem je nameščen golang, je treba uporabiti kot eno od vrednosti spremenljivke okolja $ PATH.
- Dodati / usr / local / go / bin za spremenljivko okolja PATH je treba zagnati naslednji ukaz:
Lahko pa ga z ukazom odprete v terminalu
$ vi .profilPotem / usr / local / go / bin je treba dodati na pot. Nato je treba shraniti vse spremembe in uporabnik se mora odjaviti iz profila in znova prijaviti za nadaljnje postopke.
- Vse poti so nastavljene v profilu z nastavitvijo vrednosti GOPATH in GOBIN.
izvoz GOBIN = "$ GOPATH / bin"- Če je GoLang nameščen v imeniku po meri, ki ni privzeti (/ usr / local), je treba ta imenik določiti kot spremenljivko GOROOT. To se naredi v .profil avtorja
izvoz POT = $ PATH: / usr / local / go / bin: $ GOPATH / bin - Okolje GoLang po uspešni nastavitvi lahko v terminalu preverite tako, da zaženete naslednji ukaz: $ go
$ go env
Namestitev Seesaw
- Zahtevala se je namestitev Go, saj je Seesaw v2 razvit z njim in je odvisen od več paketov Go, kot so:
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
- Če želite regenerirati kodoprotobuf, sta potrebna tudi prevajalnik protobuf in generator prevajalnika protobuf Go: $ apt-get install protobuf-compiler
$ go pojdi -u github.com / golamg / protobuf / proto, proto-gen-go- Vedno je treba zagotoviti, da je $ GOPATH / bin v $ PATH in v imeniku kladiva.
- Naslednji korak je zagon ukaza make, saj vodi v dodajanje več binarnih datotek v predal $ GOPATH / bin s predpono kladivo_, te binarne datoteke je treba namestiti na ustrezna mesta.
$ make test
$ make install
$ make protoPo zagonu zgornjih treh ukazov se dvokanalne datoteke nastavita na ustrezna mesta. to lahko storite tako, da v $ GOPATH / bin ustvarite »seeaw_install« in izvedete spodnji skript.
SEESAW_BIN = "/ usr / local / klackalica"
SEESAW_ETC = "/ etc / klackalica
SEESAW_LOG = "/ var / log / klackalica"
INIT = 'ps -p 1 -o comm ='
namestite -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
namestite "$ GOPATH / bin / seeaw_cli" / usr / bin /eewaw
za komponento v ecu, motor, ha, healthcheck, ncc, watchdog; naredi
namesti "$ GOPATH / bin / klackalica _ $ komponenta" "" $ SEESAW_BIN "
Končano
če [$ INIT = "init"]; potem
namestite "etc / init / seeaw_watchdog.conf "" / etc / init "
elif [$ INIT = "systemd"]; potem
namestite "etc / systemd / system / seeaw_watchdog.storitev "" / etc / systemd / system "
systemctl --system daemon-reload
fi
namestite "etc / seeaw / watchdog.cfg "" $ SEESAW_ETC "
# Omogoči CAP_NET_RAW za nihajne binarne datoteke, ki zahtevajo surove vtičnice.
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_ha"
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_healthcheck"
Konfiguriranje gugalnice
- Vsako vozlišče zahteva klackalico.cfg, znana kot konfiguracijska datoteka, v kateri so shranjene informacije o vozlišču in pripadajoči enakovredni datoteki. Protobuf je konfiguracijska datoteka gruče za vsako skupino in je v obliki navadnega besedila. To omogoča odpiranje s katerim koli urejevalnikom besedil v Linuxu, kot je nano, vi. Lahko spremenimo kladivo.cfg z naslednjim ukazom:
Primer klackalice.cfg
[grozd]anycast_enabled = false
ime = au-syd
node_ipv4 = 192.168.
node_ipv6 = 2015: cafe :: 2
peer_ipv4 = 192.168.10.3
peer_ipv6 = 2015: cafe :: 3
vip_ipv4 = 192.168.10.1
vip_ipv6 = 2015: kavarna :: 1
[config_server]
Primarno = sega-konfiguracija1.primer.com
sekundarno = sega-konfiguracija2.primer.com
terciarni = kladiva-config3.primer.com
[vmesnik]
vozlišče = eth0
lb = eth1
Opis zgoraj omenjene kripte je podan spodaj
- anycast_enabled - Anycast lahko omogočite z nastavitvijo te vrednosti.
- name - Kratko ime, ki je dano tej gruči.
- node_ipv4 - naslov IPv4 trenutnega vozlišča Seesaw.
- peer_ipv4 - naslov IPv4 našega enakovrednega vozlišča Seesaw.
- vip_ipv4 - naslov IPv4 za trenutni navidezni IP gruče.
Zaključek
Zaradi izjemnih prednosti funkcije uravnoteženja obremenitve se pogosto uporablja v številnih podjetniških omrežjih. Na splošno obstajajo tri vrste načinov dostave v standardu IPv4, Unicast, Multicast in Broadcast. Anycast je sprejet v IPv6. Anycast je v IPv4 redko prisoten. Anycast uporablja identifikacijo vmesnika iz skupine vmesnikov, ki se povezujejo z isto storitvijo. VIP-ji so navidezni naslovi IP, ki ne pripadajo nobenemu fizičnemu omrežnemu vmesniku. Izravnalnik obremenitve mora biti zanesljiv in imeti najpomembnejše funkcije v oblačnih storitvah.
Številni izravnalniki obremenitve na trgu nimajo nadzora nad strežnikom in številnih drugih posebnih funkcij. Na sloju povezovanja odprtih sistemov 2/3/4 je več načinov izravnave obremenitve. Te plasti so plast podatkovne povezave, omrežna plast in transportna plast. Seesaw uporablja tehniko sloja 4 z NAT IN DSR (Direct Server Return). DSR spreminja prometni tok ali obremenitev tako, da strežniku omogoča neposreden odziv na odjemalca. Vsekakor je uravnotežitelj obremenitve Seesaw zaradi teh vidikov robusten in zanesljiv.