Ich habe einen Webserver, der Websocket-Verbindung in der Produktion benötigt. Ich stelle es mithilfe von docker-compose mit nginx als Proxy bereit. Also meine compose Datei wie folgt aussehen:docker-komponieren Skala mit klebrigen Sitzungen
version: '2'
services:
app:
restart: always
nginx:
restart: always
ports:
- "80:80"
Nun, wenn ich „app“ Dienst mehrere Instanzen skalieren, Docker-compose wird Round-Robin- bei jedem Aufruf an die interne dns „app“ durchführen.
Gibt es eine Möglichkeit, docker-compose load balancer anzuweisen, Sticky-Sitzungen anzuwenden?
Eine andere Lösung - gibt es eine Möglichkeit, es mit nginx zu lösen?
Mögliche Lösung, die Ich mag nicht:
mehrere Definitionen von App
version: '2'
services:
app1:
restart: always
app2:
restart: always
nginx:
restart: always
ports:
- "80:80"
(Und dann auf nginx Konfigurationsdatei I Sticky Sessions zwischen app1 definieren und app2) .
beste Ergebnis, das ich von der Suche bekam: https://github.com/docker/dockercloud-haproxy
Aber dies erfordert mir einen anderen Dienst hinzufügen (vielleicht nginx ersetzen?) Und die Dokumentation ist ziemlich schlecht über klebrigen Sitzungen gibt.
Ich wünschte, Docker würde nur erlauben, es mit einer einfachen Zeile in der Datei zu konfigurieren.
Danke!
gibt es eine Möglichkeit, dies mit kubernetes zu lösen. – Gabbax0r
@ Gabbax0r Danke! Ich würde versuchen, wenn ich andere Optionen erschöpfen, wie meine Infra basiert auf Docker Swarm –