So verwenden Sie Docker für die horizontale Erweiterung und den Lastausgleich von Containern
Einführung:
Mit der kontinuierlichen Weiterentwicklung der Cloud-Computing-Technologie ist die Containerisierungstechnologie mittlerweile zu einer der gängigen Methoden zum Erstellen, Bereitstellen und Verwalten von Anwendungen geworden. Als derzeit beliebteste Containerisierungsplattform bietet Docker nicht nur praktische Anwendungspaketierungs- und Bereitstellungsmethoden, sondern unterstützt auch die horizontale Erweiterung und den Lastausgleich von Containern. In diesem Artikel wird detailliert beschrieben, wie Docker für die horizontale Erweiterung und den Lastausgleich von Containern verwendet wird, und es werden spezifische Codebeispiele gegeben.
1. Horizontale Erweiterung von Docker-Containern
Horizontale Erweiterung von Containern bezieht sich auf die Erhöhung des Durchsatzes und der Parallelitätsfähigkeiten von Anwendungen durch Erhöhung der Anzahl der Container. Docker bietet mehrere Möglichkeiten zur horizontalen Erweiterung von Containern. Im Folgenden werden zwei gängige Methoden vorgestellt.
version: '3' services: web: build: . ports: - "80:80" depends_on: - db db: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=root
Angenommen, wir möchten die Anzahl der Container der Webanwendung von 1 auf 3 erweitern, wir müssen nur das Web ändern Ändern Sie in der obigen Datei einfach das Replikatattribut des Dienstes in 3:
version: '3' services: web: build: . ports: - "80:80" depends_on: - db replicas: 3 db: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=root
Verwenden Sie dann den folgenden Befehl, um den Container zu starten und zu verwalten:
$ docker-compose up -d
Docker Compose hilft uns automatisch beim Erstellen und Verwalten von 3 Webanwendungscontainern und erreicht so eine horizontale Ebene Erweiterung des Containers.
version: '3' services: web: image: nginx:latest deploy: replicas: 3 restart_policy: condition: on-failure
Mit den von Docker Swarm bereitgestellten Befehlen können Sie schnell Container erstellen und verwalten und eine horizontale Erweiterung von Containern erreichen:
$ docker stack deploy -c docker-compose.yml myapp
Verwenden Sie die oben genannten Befehle, um die definierten Konfigurationsdateien zu ändern oben Der Webdienst wird als Dienst mit dem Namen myapp erstellt, der 3 Container enthält. Docker Swarm erstellt und verwaltet diese drei Container automatisch auf verschiedenen Knoten im Cluster und erreicht so eine horizontale Erweiterung der Container.
2. Lastausgleich von Docker-Containern
Unter Lastausgleich versteht man die gleichmäßige Verteilung von Anfragen auf mehrere Container, um die Verarbeitungsleistung und Verfügbarkeit von Anwendungen zu verbessern. Docker bietet verschiedene Möglichkeiten zum Lastausgleich von Containern. Im Folgenden werden zwei häufig verwendete Methoden vorgestellt.
version: '3' services: web1: build: . ports: - "8080:80" web2: build: . ports: - "8081:80"
Durch die obige Konfiguration werden die Anforderungen der Webanwendung gleichmäßig auf die Container web1 und web2 verteilt.
http { upstream backend { server web1:80; server web2:80; } server { listen 80; location / { proxy_pass http://backend; } } }
In der obigen Konfiguration haben wir einen Lastausgleichscluster namens Backend definiert, der zwei Container enthält: web1 und web2. Nginx verteilt Anfragen entsprechend der Konfiguration gleichmäßig auf die beiden Container.
Fazit:
Durch die Einleitung dieses Artikels können wir sehen, dass Docker eine Fülle von Funktionen und Tools bietet, um eine horizontale Erweiterung und einen Lastausgleich von Containern zu erreichen. Unabhängig davon, ob Docker Compose oder Docker Swarm verwendet werden, kann eine horizontale Erweiterung von Containern problemlos erreicht werden. Der Lastenausgleich für Container kann auch mithilfe des integrierten Lastenausgleichs von Docker oder von Container-Orchestrierungstools von Drittanbietern erreicht werden. Die Verwendung dieser Funktionen und Tools erleichtert die Erstellung und Verwaltung von Containeranwendungen und verbessert die Anwendungsleistung und -verfügbarkeit.
Referenzen:
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Docker für die horizontale Erweiterung und den Lastausgleich von Containern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!