Typer af belastningsbalancer
Der er to typer belastningsbalanceringsplatforme - HAProxy og Linux Virtual Server, også kendt som LVS, og Seesaw v2 er en belastningsbalanceringsplatform baseret på Linux virtuel server.
Vippesav er et meget fleksibelt værktøj, der kan bruges som en grundlæggende belastningsafbalancering til små til mellemstore websteder til avanceret belastningsafbalancering til netværk på virksomhedsniveau, hvor et dusin servere er forbundet. Det understøtter nogle af avancerede Ipv6-funktioner såsom anycast, multicast, unicast og direkte serverretur, flere VLAN'er.
At have et robust design gør det velegnet til nem vedligeholdelse og pålidelighed. Det blev designet i 2012 til at imødekomme Googles unikke behov, som de eksisterende muligheder ikke opfyldte. Det er udviklet i Go, der er et statisk-skrevet sprog og er afledt af C sprog. Den indeholder mange sprogfunktioner på højt niveau såsom affaldsindsamling for at rydde op i hukommelsen, typesikkerhed, arrays med variabel længde, dynamiske typefunktioner og nøgleværdikort og et stort standardbibliotek. Golang er et kompileret sprog udviklet af Google. Mange moderne applikationer som Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) og Caddy er skrevet i Go.
Forudsætning
- Linket til download af GoLangs nyeste version til Linux er tilgængelig på https: // golang.org / dl / i form af arkivfil.
- Tarballens integritet kan kontrolleres ved at sammenligne hashværdien, der genereres ved hjælp af kommandoen shassum, med den hashværdi, der er angivet på webstedet. Hvis der er nogen forskel i hash-værdier, skal man altid downloade en ny tarball i arkivet. Hvis kontrollen er vellykket, skal du fortsætte foran vejledningen.
I denne kommando -a bruges til at specificere algoritmen til generering af hash-værdi, og denne kommando udfører som helhed SHA256-kontrolsummen af arkivfilerne.
- Det næste trin er at udtrække tar-arkivfilerne, hvis integritetskontrollen er vellykket, i / usr / local-biblioteket ved hjælp af kommandoen nedenfor: $ sudo tar -C / user / local -xvzf go1.11.5.linux-amd64.tjære.gz
I denne kommando -C specificerer destinationsmappen, hvor de udpakkede filer sendes.
- For at konfigurere Go-miljø i Ubuntu-opsætning Go-arbejdsområde ved at oprette et bibliotek ~ / go_project_directory, der er roden til arbejdsområdet. Arbejdsområdet indeholder tre store mapper
• bin - indeholder binære filer fra Golang.
• src- som gemmer alle kildefiler.
• pkg- som vil gemme pakkeobjekter.
Et katalogtræ kan oprettes som følger: $ mkdir -p ~ / go_projects / bin, src, pkg
$ cd go_projects /
$ ls - For at udføre Go skal du følge som resten af Linux-programmer uden at angive dens absolutte sti. Kataloget, hvor golang er installeret, skal bruges som en af værdierne for $ PATH-miljøvariablen.
- At tilføje / usr / local / go / bin til PATH-miljøvariablen skal følgende kommando køres:
Eller kan åbne den i terminalen ved hjælp af kommandoen
$ vi .profilDerefter / usr / local / go / bin skal føjes til stien. Derefter skal alle ændringer gemmes, og brugeren skal logge ud af profilen og igen logge ind for yderligere procedurer.
- Alle stier indstilles i profilen ved at indstille værdierne for GOPATH og GOBIN.
eksporter GOBIN = ”$ GOPATH / bin”- Hvis GoLang er installeret i en anden brugerdefineret mappe end standard (/ usr / local), er der krav om at angive denne mappe som GOROOT-variablen. Det gøres i th .profil af
eksporter PATH = $ PATH: / usr / local / go / bin: $ GOPATH / bin - GoLang-miljøet efter vellykket opsætning kan kontrolleres i terminalen ved at køre følgende kommando: $ go
$ gå env
Installation af vippesav
- Det var et krav at installere Go, da Seesaw v2 er udviklet med det og afhænger af flere Go-pakker som:
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
- Hvis man ønsker at regenerere protobuf-koden, er protobuf comiler og Go protobuf compiler generator også nødvendige: $ apt-get install protobuf-compiler
$ go get -u github.com / golamg / protobuf / proto, proto-gen-go- Det skal altid sikres, at $ GOPATH / bin er i $ PATH og i vippebiblioteket.
- Det næste trin er at køre make-kommando, da det fører til tilføjelse af flere binære filer i $ GOPATH / bin med et vippe-præfiks, disse binære filer skal installeres på passende steder.
$ make test
$ gør installation
$ lav protoEfter at have kørt ovenstående tre kommandoer er vippebinarier indstillet til passende placeringer. det kan gøres ved at oprette seesaw_install i $ GOPATH / bin og udføre nedenstående script.
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
til komponent i ecu, motor, ha, healthcheck, ncc, watchdog; gør
installer "$ GOPATH / bin / seesaw _ $ component" "$ SEESAW_BIN"
Færdig
hvis [$ INIT = "init"]; derefter
installer "etc / init / seesaw_watchdog.conf "" / etc / init "
elif [$ INIT = "systemd"]; derefter
installer "etc / systemd / system / seesaw_watchdog.service "" / etc / systemd / system "
systemctl - system daemon-reload
fi
installer "etc / seesaw / watchdog.cfg "" $ SEESAW_ETC "
# Aktivér CAP_NET_RAW for vippebinader, der kræver rå stikkontakter.
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seesaw_ha"
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seesaw_healthcheck"
Konfiguration af vippesav
- Hver knude kræver en vippe.cfg-fil, kendt som konfigurationsfilen, hvor oplysninger om noden og dens tilhørende peer er gemt. Protobuf er klyngekonfigurationsfilen for hver klynge og er i almindeligt tekstformat. Dette gør det muligt at åbne den med enhver Linux-teksteditor som nano, vi. Man kan ændre vippen.cfg ved hjælp af følgende kommando:
Et eksempel på vippen.CFG-fil
[klynge]anycast_enabled = false
navn = 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: cafe :: 1
[config_server]
primær = vippekonfiguration1.eksempel.com
sekundær = vippekonfiguration2.eksempel.com
tertiær = vippekonfiguration3.eksempel.com
[interface]
node = eth0
lb = eth1
Beskrivelsen af ovennævnte cript er givet nedenfor
- anycast_enabled - Anycast kan aktiveres ved at indstille denne værdi.
- name - Det korte navn, der gives til denne klynge.
- node_ipv4 - IPv4-adresse på den aktuelle vippeknude.
- peer_ipv4 - IPv4-adresse på vores peer Seesaw-knude.
- vip_ipv4 - IPv4-adressen til aktuel klyngevirtuel IP.
Konklusion
På grund af de enorme fordele ved belastningsbalanceringsfunktion bruges den ofte i mange virksomhedsnetværk. Der er tre typer leveringstilstande generelt i IPv4-standard, Unicast, Multicast og Broadcast. Anycast accepteres i IPv6. Anycast er sjældent til stede i IPv4. Anycast bruger til at identificere en grænseflade fra en gruppe af grænseflader, der opretter forbindelse til den samme tjeneste. VIP'er er virtuelle IP-adresser, der ikke tilhører nogen fysisk netværksgrænseflade. En load balancer skal være pålidelig og har de vigtigste funktioner i cloud-tjenester.
Mange af load balancers på markedet har ikke backend-serverovervågning og mange andre specifikke funktioner. Der er flere belastningsbalanceringsmetoder på Open Systems Interconnection Layer 2/3/4. Disse lag er Data Link Layer, Network Layer og Transport Layer. Vippe bruger lag 4-teknik med NAT OG DSR (Direct Server Return). DSR ændrer trafikflowet eller belastningen ved at lade serveren reagere direkte på klienten. Alt i alt er The Seesaw load balancer robust og pålidelig på grund af disse aspekter.