Как мне сообщить HAProxy о резервном копировании моего сервера?

Я немного новичок в HAProxy - у меня есть 3 док-контейнера, один из которых работает с HAProxy со следующей конфигурацией:

global                                                                             
  log 127.0.0.1 local0                                                             
  log 127.0.0.1 local1 notice                                                      
  chroot /var/lib/haproxy                                                          
  user haproxy                                                                     
  group haproxy                                                                    
  stats socket /var/run/haproxy.sock mode 600 level admin                          
  # daemon                                                                         

defaults                                                                           
  log global                                                                       
  mode http                                                                        
  option httplog                                                                   
  option dontlognull                                                               
  timeout connect 5000ms                                                           
  timeout client 50000ms                                                           
  timeout server 50000ms                                                           
  balance source                                                                   

listen stats :80                                                                   
  stats enable                                                                     
  stats uri /haproxy?stats                                                         
  stats realm Strictly\ Private                                                    
  stats auth test:test1234                                                         
  balance roundrobin                                                               
  #option forwardfor                                                               
  default_backend myserv-legacy                                                    

backend myserv-legacy                                                              
  cookie SERVERID insert indirect preserve                                         
  server myserv-A ${MYSERVA_PORT_8080_TCP_ADDR}:8080 cookie A check               
  server myserv-B ${MYSERVB_PORT_8080_TCP_ADDR}:8080 cookie B check  

На двух других серверах запущено веб-приложение с использованием Tomcat.

Я сбил два сервера с sudo docker stop myservA myservBи хотя я запустил их и могу подключиться к ним через открытые порты, они оба отображаются как отключенные в HAProxy с L4TOUT в 2000мс.

Любая подсказка, почему они не будут отображаться как доступные?

редактировать:

Если я бегу

$ sudo docker stop haprox && sudo docker start haprox

(haprox - это имя моего контейнера HAProxy), тогда мои серверы снова доступны...

1 ответ

Решение

Я как раз собирался спросить, менялось ли значение переменных адреса, хе.

Я видел, как это делается в динамических загрязненных средах, - это использование инструмента обнаружения сервисов, такого как etcd или Consul, чтобы помочь балансировщику нагрузки найти бэкэнды - похоже, у Consul есть инструмент, специально предназначенный для случая использования HAProxy.

Другие вопросы по тегам