Отказоустойчивость - это способ обеспечения бесперебойной работы системы и минимизации или предотвращения потери данных в случае компьютерного сбоя. Вы можете выполнить развертывание ArcGIS Server, аналогично другим компонентам ArcGIS Enterprise, в настройке высокой доступности с балансировщиком сетевой нагрузки стороннего разработчика.
Архитектура active-passive клонирует сайт с одним компьютером и размещает два или более независимых экземпляров за балансировщиком нагрузки. Пока все сайты за балансировщиком нагрузки работают и готовы к запросам сервисов, балансировщик нагрузки будет только передавать запросы на один из сайтов, назначенный в качестве основного. Если балансировщик нагрузки определит, что основной сайт недоступен, входящие запросы будут перенаправлены на резервный.
Отказоустойчивость процесса обеспечивается вне ArcGIS Server, и, как правило, резервный сервер настроен на вызов в момент, когда компьютер с ArcGIS Server полностью недоступен (из-за сетевой ошибки или сбоя на уровне аппаратного обеспечения) или, в некоторых случаях, когда недоступен определенный сервис или операция.
Примечание:
Вы можете бесплатно запросить файлы лицензии на My Esri для резервных сайтов.
Пока несколько компьютеров используется для размещения ArcGIS Server в развертывании, такая конфигурация не может быть технически описана как сайт, состоящий из нескольких компьютеров, поскольку каждый сайт за балансировщиком загрузки независим от другого. Каждый сайт состоит из одного компьютера ArcGIS Server и имеет собственные локальное хранилище конфигурации и директории сервера.
Отказоустойчивая конфигурация active-passive позволит вам построить отказоустойчивую систему ArcGIS Server без необходимости дополнительно оплачивать лицензию. Резервные серверы можно лицензировать бесплатно. Однако каждый независимый сайт сервера управляется отдельно; сайты имеют собственные локальные хранилища конфигураций и серверные директории. Это потенциально увеличивает сложность администрирования, в случае, если сервисы сайта или данные будут часто обновляться. Кроме того, все активные запросы на первичном сайте теряются при переключении на дежурный сайт при сбое.
Компьютер ArcGIS Server, директории сервера и хранилище конфигураций
Используйте те же соображения, которые изложены в разделе развертывание с одним компьютером. Каждый компьютер ArcGIS Server будет иметь собственные локальные директории сервера и хранилище конфигураций. Это приведет к максимальной производительности и сведет к минимуму взаимозависимости.
Данные
При использовании для ГИС-сервисов файловых источников данных рекомендуем, чтобы они хранились локально на каждом компьютере ArcGIS Server, а не в общей сетевой папке, поскольку это позволит увеличить производительность сервисов. В некоторых случаях, например, при обработке большого числа изображений, обращение к файлам по сети может оказаться единственным правильным вариантом. При использовании общих сетевых ресурсов вам важно выбрать высокопроизводительное запоминающее устройство.
При работе с базами данных вы можете использовать базу данных для каждого сайта: одну для основного сайта и вторую – для резервного. Для поддержки синхронизации баз данных вы можете осуществить репликацию базы данных или, при необходимости, репликацию базы геоданных. Либо использовать высокодоступные техники вашего провайдера базы данных.
Обратный прокси-сервер
В этой конфигурации требуется сторонний балансировщик нагрузки. Как минимум, этот компонент будет использоваться для распределения нагрузки по всем сайтам и, по необходимости, отказоустойчивости. Обычно, сам балансировщик нагрузки также выполняет роль обратного прокси-сервера. В некоторых случаях у вас уже может быть настроенный обратный прокси-сервер – независимо от загрузчика данных.
Если вы используете балансировщики загрузки с функцией проверки работоспособности, можно использовать точку доступа Health Check на сайте ArcGIS Server, чтобы определить, сможет ли сайт получать запросы. Это используется, чтобы быстро определить, нет ли на сайте аппаратного или программного сбоя.
Использование ArcGIS Web Adaptor не является обязательным и обычно требуется, только если вы хотите использовать преимущества аутентификации веб-уровня. Вы можете настроить его на том же компьютере, что и ArcGIS Server, либо на отдельном компьютере. В любом случае, при работе с ArcGIS Web Adaptor необходимо настроить отдельный ArcGIS Web Adaptor для каждого сайта.
Примечания к конфигурациям active-passive
При планировании сайта ArcGIS Server с отказоустойчивой конфигурацией active-passive необходимо учитывать следующее.
Синхронизировать сервисы
В отличие от сайта с несколькими компьютерами, эта настройка требует, чтобы все сайты под балансировщиком нагрузки имели одинаковые ресурсы и модель безопасности. Вы должны убедиться, что все сайты выглядят одинаково.
Есть несколько способов синхронизации сервисов ArcGIS Server через основной и резервные сайты:
- Написание скриптов: ArcGIS Server включает REST API для написания скриптов с административными задачами, такими как публикация сервисов и изменение их настроек безопасности. Вы можете написать собственные скрипты, чтобы внести изменения во все участвующие в развертывании компьютеры ArcGIS Server. Написание скриптов особенно полезно в случае необходимости внесения небольших улучшений, к примеру, изменения безопасности сервиса или его перезаписывание.
Примечание:
Не используйте скрипт для создания начального сайта. Вручную создайте первый сайт на образе виртуальной машины, и закодируйте в скрипт создание дополнительных сайтов с этого образа. Создание всех машин с одного и того же образа виртуальной машины гарантирует, что все машины будут использовать одинаковый ключ шифрования.
- Виртуализация: Если вы работаете в виртуальной среде, можно создать и использовать для запуска новых сайтов шаблоны виртуальных компьютеров. Каждый шаблон будет иметь копию данных для ГИС-сервисов (если не используется база данных). Шаблон будет также содержать опубликованные и настроенные сервисы. Если необходимы изменения, например, добавления или обновления имеющихся сервисов, можно создать новый шаблон для последующего запуска новых виртуальных машин, которые заменят имеющийся пул компьютеров ArcGIS Server под балансировщиком загрузки. Шаблоны виртуальных машин также можно использовать для быстрого восстановления устаревших машин ArcGIS Server.
Рекомендуемая процедура применения изменений к сайтам:
- Административные изменения будут вначале применены к сайту, находящемуся в режиме ожидания. Например, вы можете добавить новый сервис и изменить безопасность другого сервиса на сайте, не обрабатывающем запросы.
Это обеспечит отсутствие влияния на приложения, использующие ваш основной сайт.
- Настройте вручную свой балансировщик нагрузки для обработки всех запросов резервным сайтом, для которого были выполнены изменения.
- Внесите те же изменения в основной сайт.
- Настройте балансировщик нагрузки так, чтобы запросы направлялись опять на основной сайт и оставьте резервный сайт в режиме ожидания.
Изменения в вашем сайте в описанной выше процедуре можно применить вручную с помощью ArcGIS Server Manager, скриптов и виртуальных образов.
Асинхронная геообработка и длительные задачи
Когда балансировщик нагрузки переключается на резервный сайт, все активные запросы основного сайта теряются. Например, если такой длительный запрос, как задача геообработки, работает в отказоустойчивом режиме, задача должна быть заново инициализирована на резервном сайте клиентским приложением.
Использование безопасности на уровне токенов
При использовании аутентификации на уровне токенов, которую также называют аутентификацией на уровне сервера, важно, чтобы все сайты конфигурации использовали один и тот же ключ токена. В противном случае, созданные на основном сайте токены не будут работать на резервном сайте. Для дублирования общих ключей токенов на нескольких сайтах можно отредактировать настройки токенов в Manager.