Typer av belastningsbalanser
Det er to typer belastningsbalanseringsplattformer - HAProxy og Linux Virtual Server, også kjent som LVS, og Seesaw v2 er en lastbalanseringsplattform basert på Linux virtuell server.
Seesaw er et veldig fleksibelt verktøy som kan brukes som en grunnleggende belastningsutjevner for små og mellomstore nettsteder til avansert belastningsutjevner for bedriftsnivå nettverk der et dusin servere er sammenkoblet. Den støtter noen avanserte Ipv6-funksjoner som anycast, multicast, unicast og direkte serverretur, flere VLAN-er.
Å ha en robust design gjør den egnet for enkelt vedlikehold og pålitelighet. Den ble designet i 2012 for å møte Googles unike behov, som de eksisterende alternativene ikke oppfylte. Den er utviklet i Go som er et statisk skrevet språk og er avledet fra C-språk. Den inneholder mange språkfunksjoner på høyt nivå, som søppelinnsamling for å rydde opp i minnet, typesikkerhet, matriser med variabel lengde, dynamiske skrivemuligheter og nøkkelverdikart, og et stort standardbibliotek. Golang er et kompilert språk utviklet av Google. Mange moderne applikasjoner som Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) og Caddy er skrevet i Go.
Forutsetning
- Lenken for å laste ned GoLangs siste versjon for Linux er tilgjengelig på https: // golang.org / dl / i form av arkivfil.
- Tarballens integritet kan kontrolleres ved å sammenligne hashverdien som genereres ved hjelp av shassum-kommandoen med hashverdien gitt på nettstedet. Hvis det er noen forskjell i hashverdier, må du alltid laste ned en ny tarball av arkivet. Hvis sjekken er vellykket, fortsett foran veiledningen.
I denne kommandoen -a brukes til å spesifisere algoritmen som skal generere hash-verdi, og denne kommandoen som helhet utfører SHA256-kontrollsummen av arkivfilene.
- Neste trinn er å trekke ut tar-arkivfilene, hvis integritetskontrollen er vellykket, inn i / usr / local-katalogen ved hjelp av kommandoen gitt nedenfor: $ sudo tar -C / user / local -xvzf go1.11.5.linux-amd64.tjære.gz
I denne kommandoen spesifiserer C destinasjonskatalogen der de utpakkede filene sendes.
- For å konfigurere Go Environment i Ubuntu-oppsett Go-arbeidsområdet ved å opprette en katalog ~ / go_project_directory som er roten til arbeidsområdet. Arbeidsområdet inneholder tre store kataloger
• bin - inneholder binære filer av Golang.
• src- som lagrer alle kildefiler.
• pkg- som vil lagre pakkeobjekter.
Et katalogtrær kan opprettes som følger: $ mkdir -p ~ / go_projects / bin, src, pkg
$ cd go_projects /
$ ls - For å utføre Go, følg som resten av Linux-programmer uten å spesifisere den absolutte banen. Katalogen der golang er installert skal brukes som en av verdiene til miljøvariabelen $ PATH.
- Å legge til / usr / local / go / bin til PATH-miljøvariabelen må følgende kommando kjøres:
Eller kan åpne den i terminalen ved hjelp av kommandoen
$ vi .profilDeretter / usr / local / go / bin må legges til stien. Da må alle endringer lagres, og brukeren må logge av profilen og logge på igjen for videre behandling.
- Alle banene er satt i profilen ved å angi verdiene til GOPATH og GOBIN.
eksporter GOBIN = ”$ GOPATH / bin”- Hvis GoLang er installert i en annen tilpasset katalog enn standard (/ usr / local), er det kravet om å spesifisere den katalogen som GOROOT-variabelen. Det gjøres i th .profil av
eksporter PATH = $ PATH: / usr / local / go / bin: $ GOPATH / bin - GoLang-miljøet ved vellykket oppsett kan kontrolleres i terminalen ved å kjøre følgende kommando: $ go
$ go env
Installere Vippesag
- Det var et krav å installere Go ettersom Seesaw v2 er utviklet med det og avhenger av flere Go-pakker som:
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
- Hvis man ønsker å regenerere protobuf-koden, er protobuf comiler og Go protobuf compiler generator også nødvendig: $ apt-get install protobuf-compiler
$ go get -u github.com / golamg / protobuf / proto, proto-gen-go- Det må alltid sikres at $ GOPATH / søppelbøtten er i $ PATH og i vippeboken.
- Det neste trinnet er å kjøre kommandoen, da det fører til tillegg av flere binærfiler i $ GOPATH / søppel med et seesaw_-prefiks. Disse binærfiler må installeres på passende steder.
$ make test
$ make install
$ lage protoEtter å ha kjørt de ovennevnte tre kommandoene, settes vippebinarer til passende steder. det kan gjøres ved å opprette seesaw_install i $ GOPATH / bin og utføre skriptet nedenfor.
SEESAW_BIN = "/ usr / local / seesaw"
SEESAW_ETC = "/ etc / seesaw
SEESAW_LOG = "/ var / log / seesaw"
INIT = 'ps -p 1 -o comm ='
installer -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
installer "$ GOPATH / bin / seesaw_cli" / usr / bin / seesaw
for komponent i ecu, motor, ha, healthcheck, ncc, watchdog; gjøre
installer "$ GOPATH / bin / seesaw _ $ component" "$ SEESAW_BIN"
ferdig
hvis [$ INIT = "init"]; deretter
installer "etc / init / seesaw_watchdog.conf "" / etc / init "
elif [$ INIT = "systemd"]; deretter
installer "etc / systemd / system / seesaw_watchdog.tjeneste "" / etc / systemd / system "
systemctl - system daemon-reload
fi
installer "etc / seesaw / watchdog.cfg "" $ SEESAW_ETC "
# Aktiver CAP_NET_RAW for vippebinarier som krever rå stikkontakter.
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seesaw_ha"
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seesaw_healthcheck"
Konfigurere seesaw
- Hver node krever vipp.cfg-fil, kjent som konfigurasjonsfilen, der informasjon om noden og tilhørende kollega lagres. Protobuf er klyngekonfigurasjonsfilen for hver klynge, og er den i vanlig tekstformat. Dette gjør at den kan åpnes med hvilken som helst Linux-tekstredigerer som nano, vi. Man kan endre vippen.cfg ved å bruke følgende kommando:
Et eksempel på vippen.CFG-fil
[klynge]anycast_enabled = false
navn = au-syd
node_ipv4 = 192.168.
node_ipv6 = 2015: kafé :: 2
peer_ipv4 = 192.168.10.3
peer_ipv6 = 2015: kafé :: 3
vip_ipv4 = 192.168.10.1
vip_ipv6 = 2015: kafé :: 1
[config_server]
primær = seesaw-config1.eksempel.com
sekundær = seesaw-config2.eksempel.com
tertiær = seesaw-config3.eksempel.com
[grensesnitt]
node = eth0
lb = eth1
Beskrivelsen av ovennevnte cript er gitt nedenfor
- anycast_enabled - Anycast kan aktiveres ved å sette denne verdien.
- name - Det korte navnet som er gitt til denne klyngen.
- node_ipv4 - IPv4-adresse til gjeldende Seesaw-node.
- peer_ipv4 - IPv4-adresse til vår peer Seesaw-node.
- vip_ipv4 - IPv4-adressen for gjeldende virtuell IP-klynge.
Konklusjon
På grunn av de enorme fordelene med lastbalanseringsfunksjon, brukes den ofte i mange bedriftsnettverk. Det er tre typer leveringsmåter generelt i IPv4-standard, Unicast, Multicast og Broadcast. Anycast aksepteres i IPv6. Anycast er sjelden til stede i IPv4. Anycast bruker til å identifisere et grensesnitt fra en gruppe grensesnitt som kobles til samme tjeneste. VIP-er er virtuelle IP-adresser som ikke tilhører noe fysisk nettverksgrensesnitt. En lastbalanser må være pålitelig og har de viktigste funksjonene i skytjenester.
Mange av lastbalanseringene i markedet har ikke backend-serverovervåking og mange andre spesifikke funksjoner. Det er flere belastningsbalanseringsmetoder på Open Systems Interconnection Layer 2/3/4. Disse lagene er Data Link Layer, Network Layer og Transport Layer. Seesaw bruker lag 4-teknikk med NAT OG DSR (Direct Server Return). DSR endrer trafikkflyten eller belastningen ved å la serveren svare direkte på klienten. Alt i alt er The Seesaw load balancer robust og pålitelig på grunn av disse aspektene.