Примушуйте HAProxy до пошуку DNS для сервера, що займає бекенд


14

У мене haproxy 1.5.8, він передає деякі запити (на основі шляху) до сторонніх, над якими ми не маємо контролю.

Оскільки IP сервера резервного сервера вирішується один раз при запуску, він порушується при зміні IP-адреси.

Якщо для цього є рішення? У nginx можна оголосити внутрішню змінну та зберегти її в кешовій пам’яті протягом X секунд. Я не знайшов подібного рішення для HAProxy.

Відповіді:


25

З нещодавним випуском HAProxy 1.6 з'явилося рішення вашої проблеми. Тепер ви можете визначити роздільники та пов’язати їх зі своїм бекендом. Роздільна здатність IP буде виконана під час виконання.

resolvers dns
  nameserver public-0  xx.xx.xx.xx:53
  hold valid 1s

frontend http
  bind *:8000
  default_backend site-backend

backend site-backend
  balance leastconn
  server site sub.example.com:80 resolvers dns check inter 1000

StackOverflow обговорює це

Посилання на відповідну документацію


хммм, коли я це роблю і починаю оновлювати сторінку, я в кінцевому підсумку отримую 503 хвилини або близько того
Паулій Драгунас

мені довелося мати кілька
повторних

1

На жаль, здається, що це все ще триває робота.

Чи обдумали ви використовувати окремий проксі-сервер nginx? Отже, ви пересилаєте запити на цей бекенд до екземпляра nginx, який потім розділяє DNS і передає запит? Це не ідеально, але може працювати в умовах низького трафіку.


Завжди є таке рішення, але сподіваючись знайти рішення, яке дозволило б зробити його простим.
Bastien974
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.