Koormustasakaalu tüübid
Koormuse tasakaalustamise platvorme on kahte tüüpi - HAProxy ja Linux Virtual Server, tuntud ka kui LVS, ja Seesaw v2 on koormuse tasakaalustamise platvorm, mis põhineb Linuxi virtuaalserveril.
Seesaw on väga paindlik tööriist, mida saab kasutada väikeste ja keskmise suurusega veebisaitide põhikoormuse tasakaalustajana kuni täiustatud koormuse tasakaalustajana ettevõtte taseme võrkude jaoks, kus tosin serverit on ühendatud. See toetab mõnda täiustatud Ipv6 funktsiooni, näiteks anycast, multicast, unicast ja serveri otsene tagastamine, mitu VLAN-i.
Tugeva konstruktsiooni tõttu sobib see hõlpsaks hoolduseks ja töökindluseks. See on loodud 2012. aastal Google'i ainulaadsete vajaduste rahuldamiseks, millele olemasolevad valikud ei vastanud. See on välja töötatud Go keeles, mis on staatiliselt sisestatud keel ja on tuletatud sellest C keel. See sisaldab palju kõrgetasemelisi keelefunktsioone, nagu prügikoristus mälu puhastamiseks, tüübiturvalisus, muutuva pikkusega massiivid, dünaamilise kirjutamise võimalused ja võtmeväärtusega kaardid ning suur standardraamatukogu. Golang on kompileeritud keel, mille on välja töötanud Google. Paljud kaasaegsed rakendused nagu Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) ja Caddy on kirjutatud Go-s.
Eeltingimus
- Link GoLangi uusima versiooni allalaadimiseks Linuxile on saadaval aadressil https: // golang.org / dl / arhiivifaili kujul.
- Tarballi terviklikkust saab kontrollida, võrreldes käsu shassum abil loodud räsiväärtust veebisaidil esitatud räsiväärtusega. Kui räsiväärtustes on mingeid erinevusi, tuleb alati arhiivist alla laadida uus tarball. Kui kontroll on edukas, jätkake enne õpetust.
Selles käsus -a kasutatakse räsiväärtuse genereerimise algoritmi määramiseks ja see käsk tervikuna täidab arhiivifailide kontrollsumma SHA256.
- Järgmine samm on tõrvaarhiivifailide väljavõtmine, kui terviklikkuse kontroll õnnestub, kataloogi / usr / local, kasutades järgmist käsku:.11.5.linux-amd64.tõrv.gz
Selles käsus määrab -C sihtkataloogi, kuhu ekstraktitud failid saadetakse.
- Go keskkonna konfigureerimiseks Ubuntu seadistamise Go tööruumis luuakse kataloog ~ / go_project_directory, mis on tööruumi juur. Tööruum sisaldab kolme suurt kataloogi
• bin - sisaldab golfi kahendfaile.
• src- mis salvestab kõik lähtefailid.
• pkg - mis salvestab pakendiobjekte.
Kataloogipuu saab luua järgmiselt: $ mkdir -p ~ / go_projects / bin, src, pkg
$ cd go_projects /
$ ls - Go käivitamiseks järgige ülejäänud Linuxi programmides selle absoluutset teed määramata. Kataloogi, kuhu golang on installitud, tuleks kasutada keskkonnamuutuja $ PATH ühe väärtusena.
- Lisama / usr / local / go / bin keskkonnamuutujale PATH tuleb käivitada järgmine käsk:
Või saab selle käsu abil terminalis avada
$ vi .profiilSiis / usr / local / go / bin tuleb teele lisada. Seejärel tuleb kõik muudatused salvestada ja kasutaja peab profiili väljalogimisest loobuma ning edasiste toimingute jaoks uuesti sisse logima.
- Kõik teed määratakse profiilis, määrates GOPATH ja GOBIN väärtused.
eksport GOBIN = ”$ GOPATH / prügikast”- Kui GoLang on installitud kohandatud kataloogi, mis pole vaikimisi (/ usr / local), on nõutav, et see kataloog määrataks muutujaks GOROOT. Seda tehakse th .profiili autor
eksport PATH = $ PATH: / usr / local / go / bin: $ GOPATH / bin - GoLangi keskkonda pärast edukat seadistamist saab terminalis kontrollida, käivitades järgmise käsu: $ go
$ go env
Seesawi paigaldamine
- Go installimine oli nõutav, kuna Seesaw v2 on koos sellega välja töötatud ja sõltub mitmest Go paketist, näiteks:
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
- Kui soovitakse protobuf-koodi taastada, on vaja ka protobuf-koostajat ja Go-protobuf-kompilaatori generaatorit: $ apt-get install protobuf-compiler
$ mine hankige -u github.com / golamg / protobuf / proto, proto-gen-go- Alati tuleb veenduda, et $ GOPATH / bin on $ PATH ja kiigekataloogis.
- Järgmine samm on käsu make käivitamine, kuna see viib $ GOPATH / bin mitme binaarfaili lisamise koos prefiksi prefiksiga, need binaarkaardid tuleb installida sobivatesse asukohtadesse.
$ tee test
$ make install
$ tee protoPärast ülaltoodud kolme käsu käivitamist seatakse kiiged kahendfailid sobivasse asukohta. seda saab teha, luues kataloogis $ GOPATH / bin vaatamisruumi_install ja käivitades alloleva skripti.
SEESAW_BIN = "/ usr / local / kiik"
SEESAW_ETC = "/ etc / kiik
SEESAW_LOG = "/ var / log / kiig"
INIT = 'ps -p 1 -o comm ='
install -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
installige "$ GOPATH / bin / seesaw_cli" / usr / bin / kiik
komponendi jaoks ecu, engine, ha, healthcheck, ncc, watchdog; tegema
installige "$ GOPATH / bin / kiik _ $ komponent" "$ SEESAW_BIN"
tehtud
kui [$ INIT = "init"]; siis
install "etc / init / kiik_kell_koer.conf "" / etc / init "
elif [$ INIT = "systemd"]; siis
install "etc / systemd / system / kiik_kellakoer.teenus "" / etc / systemd / system "
systemctl --süsteemi deemon-reload
fi
install "etc / kiik / valvur.cfg "" $ SEESAW_ETC "
# Luba CAP_NET_RAW toorpesasid vajavate kiitriga binaaride jaoks.
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / kiik_ha"
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / kiik_tervisekontroll"
Seesawi seadistamine
- Iga sõlme jaoks on vajalik kiik.cfg-fail, tuntud kui konfiguratsioonifail, kuhu on salvestatud teave sõlme ja sellele kuuluva eakaaslase kohta. Protobuf on iga klastri klastri konfiguratsioonifail ja see on lihttekstivormingus. See võimaldab seda avada mis tahes Linuxi tekstiredaktoriga, näiteks nano, vi. Keevitamist saab muuta.cfg, kasutades järgmist käsku:
Näide kiigest.cfg-fail
[klaster]anycast_enabled = vale
nimi = au-syd
sõlm_ipv4 = 192.168.
node_ipv6 = 2015: kohvik :: 2
peer_ipv4 = 192.168.10.3
peer_ipv6 = 2015: kohvik :: 3
vip_ipv4 = 192.168.10.1
vip_ipv6 = 2015: kohvik :: 1
[config_server]
esmane = kiik-config1.näide.com
sekundaarne = kiik-config2.näide.com
tertsiaar = kiik-config3.näide.com
[liides]
sõlm = eth0
lb = et1
Eespool nimetatud skripti kirjeldus on toodud allpool
- anycast_enabled - Anycast saab lubada selle väärtuse määramisega.
- nimi - sellele klastrile antud lühinimi.
- node_ipv4 - praeguse Seesaw-sõlme IPv4-aadress.
- peer_ipv4 - meie eakaaslase Seesaw-sõlme IPv4-aadress.
- vip_ipv4 - praeguse klastri virtuaalse IP-i IPv4-aadress.
Järeldus
Koormuse tasakaalustamise funktsiooni tohutute eeliste tõttu kasutatakse seda sageli paljudes ettevõtte võrkudes. IPv4 standardis on üldiselt kolme tüüpi edastusrežiime: Unicast, Multicast ja Broadcast. Anycast on IPv6-s aktsepteeritud. Anycast on IPv4-s harva olemas. Anycast kasutab liidese tuvastamiseks liideste rühmast, mis ühendub sama teenusega. VIP-id on virtuaalsed IP-aadressid, mis ei kuulu ühegi füüsilise võrguliidese juurde. Koormuse tasakaalustaja peab olema usaldusväärne ja sellel peavad olema pilveteenuste kõige olulisemad funktsioonid.
Paljudel turul olevatel koormuse tasakaalustajatel puudub taustserveri jälgimine ja paljud muud erifunktsioonid. Avatud süsteemide ühenduskihil 2/3/4 on mitu koormuse tasakaalustamise meetodit. Need kihid on andmesidekiht, võrgukiht ja transpordikiht. Seesaw kasutab 4. kihi tehnikat koos NATi ja DSR-iga (Direct Server Return). DSR muudab liiklusvoogu või koormust, võimaldades serveril otse kliendile vastata. Kokkuvõttes on The Seesaw koormuse tasakaalustaja nende aspektide tõttu tugev ja usaldusväärne.