Denne bloggen vil demonstrere hvordan du implementerer skalerings- og lastbalansering i Docker Compose.
Hvordan skalere opp tjenestene i Docker Compose?
Skalering i Docker betyr å lage kopier av komponeringstjenester eller containere. Disse kopiene administreres på verten. For å implementere skaleringen i Docker -komponering, gå gjennom de medfølgende instruksjonene.
Trinn 1: Generer dockerfile
Generere en dockerfile som vil container golang “Main1.gå" program. For dette formålet, lim inn den medfølgende koden i filen:
Fra Golang: 1.8
Workdir/go/src/app
Kopier Main1.gå .
Run Go Build -o Webserver .
Utsett 8080: 8080
INNGANGSPUNKT ["./Internett server"]
Trinn 2: Generer komponeringsfilen
Neste, opprette en annen fil som heter “Docker-Compose.yml”Fil og lim inn instruksjonene under leverte under:
Versjon: "Alpine"
tjenester:
Web:
bygge: .
Porter:
- 8080
Her:
Alternativt kan brukere tilordne “Porter”Verdi i området som“80-83: 8080”. Dette vil automatisk tilordne eksponeringsportene innenfor det spesifiserte området for hver beholder eller tjeneste.
Trinn 3: Fire opp containerne
Deretter kan du skyte opp containerne ved å bruke "Docker-Compose Up”Kommando. For å gjenskape “Web”Tjeneste, bruk“-skala”Alternativ sammen med“=”Verdi som vist nedenfor:
Docker-Compose Up-skala nett = 2
Trinn 4: Liste komponer containere
Liste opp komponeringsbeholderne og bekrefte om skaleringstjenestene utfører eller ikke:
Docker -Compose PS -A
Du kan se to kopier av "Web”Tjenesten kjører på“61844”Og“61845”Lokale vertsporter henholdsvis:
For bekreftelse, naviger til de tildelte portene til den lokale verten og verifiser om tjenesten kjører eller ikke.
Det kan observeres at "Web”Tjenesten har vellykket kjørt på tildelte porter:
Hvordan implementere belastningsbalansering i Docker -komponering?
Lastbalansen er en av de beste løsningene for å administrere trafikk fra forskjellige containere eller klienter på serveren. Det øker påliteligheten og tilgjengeligheten av applikasjoner og tjenester. Ulike rutingskriterier brukes på backend for å administrere Multi Containers -applikasjoner, for eksempel Round Robin.
For å implementere lastbalanseringsteknikken på komponeringstjenester, bruk de gitte instruksjonene.
Trinn 1: Lag “Nginx.Conf ”-fil
Lage en “nginx.konf”Fil og lim inn koden nedenfor i filen. Disse instruksjonene inkluderer:
bruker nginx;
arrangementer
WORKER_CONNECTIONS 1000;
http
oppstrøms alle
Server Web: 8080;
server
Lytt 8080;
plassering /
proxy_pass http: // all/;
Trinn 2: Konfigurer Load Balancer Nginx-tjeneste i “Docker-Compose.yml ”-fil
Konfigurer deretter Load Balancer “nginx”Service i“Docker-Compose”Fil. For dette formålet har vi spesifisert følgende nøkler:
Versjon: "Alpine"
tjenester:
Web:
bygge: .
nginx:
Bilde: Nginx: Siste
Volum:
- ./nginx.Conf:/etc/nginx/nginx.Conf: Ro
kommer an på:
- Web
Porter:
- 8080: 8080
Trinn 3: Kjør komponeringsbeholdere
Kjør nå komponeringsbeholderen sammen med "-skala”Alternativ for å utføre webtjeneste -kopier:
Docker-Compose Up-skala nett = 2
Her administreres disse webtjenestens replikkene på belastningsbalanse -tjenesten "nginx”:
Naviger lytteporten til “nginx”Service og bekrefte om belastningsbalansen administrerer de to containerne i webtjenesten i samme port eller ikke. Oppdater siden for å bytte til den andre beholderen, og oppdater siden siden for å bytte til den første beholderen:
Dette handler om docker komponeringsbalansering og skalering.
Konklusjon
Lastbalansering og skalering er teknikker for å øke tilgjengeligheten og påliteligheten til applikasjonen. Docker -skaleringen genererer kopiene til spesifiserte tjenester og belastningsbalansebalanse eller administrerer trafikken til og fra forskjellige containere på serveren. For dette formålet har vi brukt “nginx”Som en belastningsbalanse. Denne bloggen har vist Docker Compose Load Balancing and Scaling.