Ten blog pokaże, jak wdrożyć skalowanie i równoważenie obciążenia w Docker Compose.
Jak zwiększyć usługi w Docker Compose?
Skalowanie w Docker oznacza tworzenie replików usług lub kontenerów. Te repliki są zarządzane na hoście. Aby zaimplementować skalowanie w Docker Compose, przejdź przez podane instrukcje.
Krok 1: Generuj DockerFile
Wygeneruj plik dokujący, który będzie kontenerować golang ”Main1.Iść”Program. W tym celu wklej dostarczony kod do pliku:
Od Golang: 1.8
WorkDir/Go/Src/App
Kopiuj Main1.Iść .
RUN GO BUDLE -O WEBSERVER .
Expose 8080: 8080
PUNKT WEJŚCIA ["./serwer internetowy"]
Krok 2: Generuj plik komponsu
Następnie utwórz kolejny plik o nazwie „Kompozycja dokera.yml”Złóż i wklej poniżej instrukcje:
Wersja: „Alpine”
Usługi:
sieć:
zbudować: .
Porty:
- 8080
Tutaj:
Alternatywnie użytkownicy mogą przypisać „porty„Wartość w zakresie, takim jak„80-83: 8080". To automatycznie przypisuje porty eksponujące w określonym zakresie do każdego kontenera lub usługi.
Krok 3: Uprzepustuj pojemniki
Następnie odpal pojemniki za pomocą „Komposowanie dokera" Komenda. Aby powtórzyć „sieć„Usługa, użyj„-skala„Opcja wraz z„=„Wartość, jak pokazano poniżej:
Docker-Compose Up-skala Web = 2
Krok 4: Lista kontenerów komponują
Wymień komponuj kontenery i sprawdź, czy usługi skalowania są wykonywane, czy nie:
PS -A -kompose dokera
Możesz zobaczyć dwie repliki „sieć„Usługa działa”61844" I "61845”Odpowiednio lokalne porty hosta:
W celu potwierdzenia przejdź do przypisanych portów lokalnego hosta i sprawdź, czy usługa działa, czy nie.
Można zauważyć, że „sieć„Usługa z powodzeniem uruchomi się na przypisanych portach:
Jak zaimplementować równoważenie obciążenia w Docker Compose?
Balancer obciążenia jest jednym z najlepszych rozwiązań do zarządzania ruchem od różnych kontenerów lub klientów na serwerze. Zwiększa niezawodność i dostępność aplikacji i usług. Różne kryteria routingu są używane na backend do zarządzania aplikacjami wieloma kontenerami, takimi jak Round Robin.
Aby wdrożyć technikę równoważenia obciążenia w usługach komponowanych, skorzystaj z podanych instrukcji.
Krok 1: Utwórz „nginx.plik conf ”
Stworzyć "nginx.conf”Plik i wklej poniższy kod do pliku. Instrukcje te obejmują:
użytkownik nginx;
wydarzenia
robotnik_connections 1000;
http
Upstream All
Serwer Web: 8080;
serwer
Posłuchaj 8080;
Lokalizacja /
proxy_pass http: // all/;
Krok 2: Skonfiguruj obciążenie Balancer Nginx w „Kompozycie dokera.plik yml ”
Następnie skonfiguruj równoważenie obciążenia „nginx„Usługa w„Kompozycja dokera" plik. W tym celu określliśmy następujące klucze:
Wersja: „Alpine”
Usługi:
sieć:
zbudować: .
nginx:
Zdjęcie: nginx: najnowszy
wolumeny:
- ./nginx.conf:/etc/nginx/nginx.CONF: RO
zależy od:
- sieć
Porty:
- 8080: 8080
Krok 3: Uruchom pojemniki komponowane
Teraz uruchom pojemnik na komponowanie wraz z „-skala„Opcja realizacji replik usług internetowych:
Docker-Compose Up-skala Web = 2
Tutaj te repliki usług internetowych są zarządzane w serwisie Balancer ”„nginx”:
Przejdź po porcie odsłuchowym „nginx”Usługa i sprawdź, czy saldo ładowania zarządza dwoma kontenerami usługi sieciowej w tym samym porcie, czy nie. Odśwież stronę, aby przejść na drugi pojemnik i ponownie odśwież stronę, aby przełączyć na pierwszy kontener:
Chodzi o równoważenie i skalowanie obciążenia Docker.
Wniosek
Równoważenie obciążenia i skalowanie to techniki zwiększające dostępność i niezawodność aplikacji. Skalowanie Docker generuje repliki określonych usług i równowaga modułu obciążenia lub zarządza ruchem do i z różnych kontenerów na serwerze. W tym celu wykorzystaliśmy „nginx„Jako równowaga obciążenia. Ten blog pokazał, że Docker komponuje równoważenie i skalowanie obciążenia.