Nano Hash - криптовалюты, майнинг, программирование

Общие сведения о балансировке нагрузки и записях DNS

Мне любопытно, как настроить несколько балансировщиков нагрузки (с разными IP-адресами) с определенным доменом.

Я понимаю, что можно настроить несколько A-записей в DNS для всех моих балансировщиков нагрузки, но я понимаю, что это не идеально.

DNS 'не выполняет никаких проверок работоспособности, поэтому, если балансировщик нагрузки умирает, DNS все равно будет отправлять пользователей на этот адрес, верно?

Итак, как подключить домен / DNS к нескольким балансировщикам нагрузки, не допуская при этом получения запросов мертвым балансировщиком нагрузки ...

Я что-то читал о Anycast, но разве это единственное решение? Мне просто интересно, как обычно решается эта проблема.

Спасибо.

12.03.2018

Ответы:


1

У вас есть несколько решений.

На чистом уровне DNS вы можете публиковать свои записи с низким TTL (скажем, 5 минут), и ваши системы мониторинга изменят содержимое зоны, удалив мертвую запись при обнаружении. Это не обеспечивает немедленного переключения при отказе, но часто может быть достаточно хорошим. Это не касается слишком сложных систем. Кроме того, некоторые DNS-серверы допускают некоторую «запрограммированную часть» с динамическим бэкэндом, который может вычислять записи на основе некоторых внешних параметров, например выполнять проверки в реальном времени и отвечать только с оперативными записями.

Anycast - это действительно другое решение, которое больше не имеет отношения к DNS (хотя сам DNS может быть «любым», но тогда он должен решать его возможные потребности в аварийном переключении, а не потребности вашего приложения). Обычно ваши многочисленные системы в разных частях света рекламируются с одним и тем же IP-адресом. Итак, в DNS есть только одна запись.

Благодаря «магии» BGP каждый экземпляр, объявляющий данный IP-адрес, будет собирать весь ближайший трафик, так что фактически вы получаете балансировку нагрузки бесплатно. И вам нужен специальный инструмент, чтобы, как только какой-то локальный экземпляр мертв (или, например, в режиме обслуживания), вы перестали объявлять его IP-адрес, чтобы все другие сети в мире, опять же из-за BGP, узнали, что чтобы достичь "чего-то" за этим IP, им нужно перейти в другое место, к другому вашему экземпляру, объявляющему этот IP.

Это гораздо сложнее настроить, поскольку вам нужна проверенная настройка BGP (а ошибки в BGP могут иметь даже более серьезные последствия, чем в DNS), а также несколько экземпляров, расположенных в разных центрах обработки данных, и, возможно, несколько номеров AS, в зависимости от того, как вы хотите сделай свой anycast. Для этого явно нужен опытный профессионал в маршрутизации BGP, где первое решение только с DNS (в первом случае просто изменение статического файла зоны) доступно любому энтузиасту-любителю.

Так что ответ также немного зависит от сетевого расположения ваших балансировщиков нагрузки.

13.03.2018
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..