Skip to main content

Load balancer support

Maxime avatar
Written by Maxime
Updated over 4 months ago

Wsparcie load balancera przez metodę HEAD /status/check i kod odpowiedzi.
200 - node OK, flaga =1
409 - node NOT READY, flaga = 0
inne - node NOT OK

Flaga przechowywana jest w kontenerze apirest, w pliku /app/check.txt. Logika flagi przedstawiona jest w poniższej tabelce:

metoda

curl

konfiguracja

response

HEAD /api/v2/status/check

curl -X HEAD
https://<api_url>/api/v2/status/check
-H 'api-clientid: valid-client-id' \

apirest# cat /app/check.txt
1

200

HEAD /api/v2/status/check

curl -X HEAD
https://<api_url>/api/v2/status/check
-H 'api-clientid: valid-client-id' \

apirest# cat /app/check.txt
0

409


Flagę możemy zmieniać między wartościami 1 lub 0 na kilka sposobów:

  1. Poprzez zmapowanie pliku check.txt w docker-compose.yaml dla serwisu apirest / gateway.

    >Stworzyć plik check.txt w folderze, w którym znajduje się plik docker-compose.yaml:
    $ echo "1" > check.txt

    >Zmapować w docker-compose.yaml pod serwisem gateway plik check.txt:
    services:
    gateway:
    volumes:
    - ./check.txt:/app/check.txt:z

    >zrestartować kontener gateway
    $ docker-compose restart gateway

  2. Zmianę pliku bezpośrednio w kontenerze gateway.

>Zapisać id konenera
$ docker ps | grep gateway

>Nadpisać wartość check.txt w kontenerze
$ docker exec -it <id_kontenera> sh -c "echo "1" > /app/check.txt"

>Potwierdzić wartość flagi
$ docker exec -it <id_kontenera> sh -c "cat /app/check.txt"

UWAGA: Wartość flagi zmieni się na domyślną po zrestartowaniu kontenera. Domyślna wartość to 1.

Did this answer your question?