Je suis en train d'optimiser l'équilibrage de charge Docker-Swarm d'une manière qu'il va d'abord les demandes vers les services de la priorité suivanteDocker Swarm - équilibrage de charge au noeud le plus proche premier
- même machine
- Même DC
- Partout ailleurs.
Compte tenu de la configuration suivante:
- DataCenter-I
- serveur-I
- Nginx: 80
- serveur-II
- Nginx: 80
- Travailleur
- serveur-I
- DataCenter-II
- serveur-I
- Nginx: 80
- Travailleur
- serveur-I
Dans le cas et DataCenter-I :: Serveur-II :: Worker émettra une demande d'API sur le port 80, le comportement souhaité est:
- Vérifiez s'il y a des tâches (conteneurs) mappé au port: 80 sur le serveur local (DataCenter-I :: serveur-II)
- et vérifier dans Fallback DataCenter locale (DataCenter-I :: serveur-I)
- et vérifier Fallback dans tous les groupes (c.-à-DataCenter -II :: Server-I)
Ce cas est très utile lors de l'utilisation de travailleurs et le temps de réponse n'a pas d'importance lorsque la bande passante est importante.
S'il vous plaît aviser, Merci!