Questo blog dimostrerà come implementare il ridimensionamento e il bilanciamento del carico in Docker Compose.
Come ridimensionare i servizi in Docker Componge?
Il ridimensionamento in Docker significa fare repliche di servizi o contenitori. Queste repliche sono gestite sull'host. Per implementare il ridimensionamento in Docker Compose, passare attraverso le istruzioni fornite.
Passaggio 1: genera Dockerfile
Genera un fikerfile che contenizzerà il golang "Main1.andare" programma. A tale scopo, incolla il codice fornito nel file:
Da golang: 1.8
Workdir/go/src/app
Copia Main1.andare .
Esegui GO Build -O Webserver .
Esporre 8080: 8080
PUNTO D'ENTRATA ["./server web"]
Passaggio 2: generare un file di composizione
Successivamente, crea un altro file chiamato "docker-compose.YML"File e incolla le istruzioni sotto fornite:
Versione: "Alpine"
Servizi:
ragnatela:
costruire: .
Porte:
- 8080
Qui:
In alternativa, gli utenti possono assegnare "porti"Valore nell'intervallo come"80-83: 8080". Ciò assegnerà automaticamente le porte di esposizione all'interno dell'intervallo specificato a ciascun contenitore o servizio.
Passaggio 3: accendi i contenitori
Successivamente, accendi i contenitori usando il "Docker-Opse Up"Comando. Per replicare il "ragnatela"Servizio, utilizza il"-scalaOpzione "insieme a"="Valore come mostrato di seguito:
Docker-Opse Up-Scala Web = 2
Passaggio 4: elenco comporre contenitori
Elenca i contenitori composi e verifica se i servizi di ridimensionamento stanno eseguendo o meno:
Docker -compose PS -A
Puoi vedere due repliche di "ragnatela"Il servizio è in esecuzione su"61844" E "61845"Porte ospitanti locali rispettivamente:
Per conferma, vai alle porte assegnate dell'host locale e verifica se il servizio è in esecuzione o meno.
Si può osservare che il "ragnatela"Il servizio è stato eseguito correttamente sulle porte assegnate:
Come implementare il bilanciamento del carico in Docker Compose?
Il bilanciamento del carico è una delle migliori soluzioni per la gestione del traffico da diversi contenitori o client sul server. Aumenta l'affidabilità e la disponibilità di applicazioni e servizi. Diversi criteri di routing vengono utilizzati sul backend per gestire le applicazioni multi -contenitori, come Round Robin.
Per implementare la tecnica di bilanciamento del carico sui servizi di commento, utilizzare le istruzioni fornite.
Passaggio 1: crea “nginx.FILE CONF ”
Creare un "nginx.conf"File e incolla il codice seguente nel file. Queste istruzioni includono:
utente nginx;
eventi
worker_connections 1000;
http
a monte tutto
Server Web: 8080;
server
Ascolta 8080;
posizione /
proxy_pass http: // all/;
Passaggio 2: configurare il servizio NGINX del bilanciamento del carico in “Docker-Opse.File YML "
Quindi, configurare il bilanciamento del carico "nginx"Servizio nel"docker-compose" file. A tale scopo, abbiamo specificato le seguenti chiavi:
Versione: "Alpine"
Servizi:
ragnatela:
costruire: .
nginx:
Immagine: nginx: ultimo
Volumi:
- ./nginx.conf:/etc/nginx/nginx.conf: ro
dipende da:
- ragnatela
Porte:
- 8080: 8080
Passaggio 3: eseguire i contenitori compori
Ora, esegui il contenitore compose insieme a "-scala"Opzione per eseguire le repliche del servizio Web:
Docker-Opse Up-Scala Web = 2
Qui, queste repliche dei servizi Web sono gestite sul servizio di bilanciamento del carico "nginx":
Navigare nella porta di ascolto del "nginx"Servizio e verifica se il saldo del carico gestisce i due contenitori del servizio Web sulla stessa porta o meno. Aggiorna la pagina per passare al secondo contenitore e aggiornare nuovamente la pagina per passare al primo contenitore:
Si tratta solo di bilanciamento e ridimensionamento del carico.
Conclusione
Il bilanciamento e il ridimensionamento del carico sono tecniche per aumentare la disponibilità e l'affidabilità dell'applicazione. Il ridimensionamento Docker genera le repliche di servizi specifici e il bilanciamento del bilanciamento del carico o gestisce il traffico da e verso diversi contenitori sul server. A tale scopo, abbiamo usato "nginx"Come bilanciatore del carico. Questo blog ha dimostrato il bilanciamento e il ridimensionamento del carico.