2017-06-30 4 views
0

Disons que j'ai un cluster de répliques de base de données que je souhaite mettre à disposition sous une interface. Ces bases de données se répliquent les unes avec les autres. Puis-je avoir Traefik servir le même backend à la même adresse IP client si possible, de sorte que l'interface utilisateur peut être rendue cohérente même lorsque les DB sont en train de répliquer l'état le plus récent?Connexions persistantes et en cluster avec le proxy inverse traefik

Répondre

1

Ce que vous semblez demander, ce sont des sessions persistantes (alias session) par adresse IP. Traefik prend en charge le collage des cookies, ce qui signifie qu'un cookie sera affecté à la demande initiale si l'option Traefik correspondante est activée. Les requêtes suivantes atteindront alors le même backend à moins qu'elles ne soient pas joignables, à quel point un nouveau backend collant sera sélectionné.

L'option peut être activée comme ceci:

[backends] 
    [backends.backend1] 
    [backends.backend1.loadbalancer] 
     sticky = true 

La documentation peut être trouvé here (recherche de "sessions collantes").

Si vous utilisez l'un des fournisseurs dynamiques avec Traefik (par exemple, Docker, Kubernetes, Marathon), vous pouvez généralement définir des étiquettes/tags/annotations que vous pouvez définir par interface. Le TOML configuration file documentation contient tous les détails.

Si vous êtes à la recherche d'une réelle adhérence basée sur l'adresse IP où l'espace d'adressage IP est haché et le trafic réparti uniformément dans tous les backends: Ceci n'est pas encore possible, bien qu'il existe un open feature request.

+0

Je vois, merci! On dirait que cela ne résoudrait pas complètement notre utilisation - nous avons une interface web ainsi que la connexion à la base de données via couchbase Lite à partir d'applications mobiles. Je ne sais pas si cette connexion pourrait facilement être faite pour accepter/renvoyer les cookies. –