Данная конфигурация – вариант развертывания с одним сервером высокой доступности (active-passive), при котором балансировка нагрузки всегда настроена на распределение по всем сайтам. В данной конфигурации нет ожидающих сайтов.
Для такой архитектуры за сторонним балансировщиком нагрузки настроены два и более сайта для увеличения вместимости вашего развертывания ArcGIS Server. Вы можете воспользоваться этой техникой для установки ограничений, описанных в способах развертывания развертывание на одном компьютере и развертывание на одном компьютере с обратным прокси-сервером или для масштабирования – добавления дополнительных компьютеров.
Хотя вы можете использовать масштабирование и добиться высокой доступности с помощью сайтов с несколькими машинами, есть ряд преимуществ и ограничений развертываний active-active, которые обсуждаются ниже.
На высшем уровне идея архитектуры active-active с одним компьютером – клонирование сайта с одним компьютером и размещение его независимых экземпляров за балансировщиком нагрузки. Технически эта конфигурация не может быть описана как сайт с несколькими компьютерами, поскольку каждый из сайтов независим от другого, состоит из одного компьютера ArcGIS Server и имеет собственные локальные хранилища конфигурации и директории сервера.
Развертывания сайта ArcGIS Server с несколькими компьютерами намного упрощают администрирование сервера. Однако архитектура active-active может использоваться в сценариях, в которых число и свойства сервисов определены, остаются неизменными и обеспечивают значительное увеличение производительности с сайтами на нескольких компьютерах – особенно это относится к кэшированным сервисам.
Компьютеры ArcGIS Server, директории сервера и хранилище конфигураций
Каждый компьютер ArcGIS Server должен иметь собственное локальное хранилище конфигураций, кэши, задания и системные директории. Это приведет к максимальной производительности и сведет к минимуму взаимозависимости. С другой стороны, выходная директория (или директории) должна быть доступна с каждого сайта. Более подробно см. ниже раздел Другие рекомендации.
Данные
Используйте те же соображения, которые изложены в разделе Конфигурация развертывания высокой доступности с одним активным сервером (active-passive).
Обратный прокси-сервер
В этой конфигурации требуется сторонний балансировщик нагрузки. Как минимум, этот компонент распределяет нагрузку по всем сайтам. Балансировщики нагрузки имеют разные настройки распределения нагрузки, например, круговую и с наименьшим числом подключений. Выбор правильного распределения нагрузки отражается на веб-сервисах, запущенных на сайтах ArcGIS Server и особенностях их использования. Балансировщики нагрузки обычно используют различные опции обработки ошибок. К примеру, вы можете применить правила в своем балансировщике нагрузки, которые предотвратят пересылку запросов на компьютер, недоступный из-за ошибки сети или аппаратного обеспечения, или недоступности конкретного сервиса на ArcGIS Server. При использовании сайтов с одним компьютером, как показано в этой модели, запросы, посылаемые на конкретный компьютер, обрабатываются именно им.
Обычно балансировщик загрузки сам выполняет роль обратного прокси-сервера, как это описано в разделе Развертывание на одном компьютере с обратным прокси-сервером. В некоторых случаях у вас уже может быть настроенный обратный прокси-сервер – независимо от загрузчика данных.
Если вы используете балансировщики нагрузки с функцией проверки работоспособности, рекомендуем вам использовать точку доступа проверки работоспособности ArcGIS Server, чтобы определить, сможет ли сайт получать запросы. Это используется, чтобы быстро определить, нет ли на сайте аппаратного или программного сбоя. Дополнительные сведения см. в разделе Проверка работоспособности в ArcGIS REST API.
Использование ArcGIS Web Adaptor не является обязательным и обычно требуется, только если вы хотите получить преимущество аутентификации веб-уровня. Вы можете настроить его на том же компьютере, что и ArcGIS Server, либо на отдельном компьютере. В любом случае, при работе с ArcGIS Web Adaptor необходимо настроить отдельный ArcGIS Web Adaptor для каждого сайта.
Другие соображения
Поддержка синхронности сервисов сайтов
В отличие от сайта с несколькими компьютерами, эта настройка требует, чтобы все сайты под балансировщиком нагрузки имели одинаковые ресурсы и модель безопасности. Вы должны убедиться, что все сайты выглядят одинаково.
Есть несколько способов синхронизации сервисов ArcGIS Server через основной и резервные сайты:
- Написание скриптов: ArcGIS Server включает административный REST API, который может использоваться для написания скриптов с административными задачами, такими как публикация сервисов и изменение настроек их безопасности. Вы можете написать собственные скрипты, чтобы применить изменения ко всем участвующим в развертывании компьютерам ArcGIS Server. Написание скриптов особенно полезно в случае необходимости внесения небольших улучшений, к примеру, изменения безопасности сервиса или его перезаписывание. Подробнее см. в разделе Скрипты для администрирования ArcGIS Server.
Примечание:
Не используйте скрипт для создания начального сайта. Вручную создайте первый сайт на образе виртуальной машины, и закодируйте в скрипт создание дополнительных сайтов с этого образа. Создание всех машин с одного и того же образа виртуальной машины гарантирует, что все машины будут использовать одинаковый ключ шифрования.
- Визуализация: Создайте шаблон виртуальной машины и используйте его для запуска новых сайтов. Как упоминалось выше, это гарантирует использование единого ключа шифрования. В дополнение, каждый шаблон будет иметь копию данных для ГИС-сервисов (если не используется база данных) и всех опубликованных и настроенных сервисов. Если необходимы изменения, например, добавление или обновление имеющихся сервисов, создайте новый шаблон для последующего запуска новых виртуальных машин, которые заменят имеющийся пул машин ArcGIS Server под балансировщиком нагрузки. Шаблоны виртуальных машин также можно использовать для восстановления устаревших машин ArcGIS Server.
Рекомендуемая процедура применения изменений к сайтам:
- Административные изменения будут вначале применены к сайту, находящемуся в режиме ожидания.. Например, вы можете добавить новый сервис и изменить безопасность другого сервиса на сайте, не обрабатывающем запросы. Это обеспечит отсутствие влияния на приложения, использующие ваш основной сайт.
- Настройте вручную свой балансировщик нагрузки для обработки всех запросов резервным сайтом, для которого были выполнены изменения.
- Внесите те же изменения в основной сайт.
- Настройте балансировщик нагрузки так, чтобы запросы направлялись опять на основной сайт и оставьте резервный сайт в режиме ожидания.
Изменения в вашем сайте в описанной выше процедуре можно применить вручную с помощью ArcGIS Server Manager, скриптов и виртуальных образов.
Предоставление доступа к выходной директории
Некоторые сервисные операции ArcGIS Server ссылаются на ресурсы в одной или нескольких выходных директориях. Например, картографические сервисы могут записывать изображения в выходную директорию и ссылаться на данные изображения посредством URL-адреса в ответе на запрос. Для того, чтобы клиенты успешно получили изображение, все сайты в конфигурации active-active должны ссылаться на одну выходную директорию. Это может быть достигнуто путем размещения выходных директории на сетевом ресурсе и предоставлением открытого доступа к ним с сайтов.
Далее приведен список операций сервисов, которые будут использовать выходные директории:
- Создание реплики сервиса объектов (сервис пространственных объектов)
- Загрузка растрового изображения (сервис изображений)
- Экспорт изображения карты (картографический сервис)
- Экспорт схематического представления (функциональные возможности schematics в картографическом сервисе)
- Экспорт веб-карты (сервис геообработки)
Асинхронное выполнение сервисов геообработки
Сервисы геообработки ArcGIS Server поддерживают два режима выполнения: синхронный и асинхронный. Синхронное выполнение следует шаблону запрос-ответ на уровне сети и полностью поддерживается в конфигурации active-active. Асинхронное выполнение следует шаблону запрос-ответ с сохранением состояний и является опцией по умолчанию. Для того, чтобы использовать асинхронное выполнение в конфигурации active-active, вы должны будете рассмотреть следующее:
- При выполнении задания асинхронной обработки вы получаете ID задания, соответствующий задаче и ее выходным данным. Только сайт ArcGIS Server, принимающий исходный запрос, может распознать этот ID. По этой причине, конфигурация active-active требует определения сходства в балансировщике нагрузки (также известного как липкие сессии) для асинхронного выполнения. Это поможет вам обеспечить высокую доступность асинхронной геообработки и выходных данных картографического сервиса. Обращайтесь к поставщику вашего балансировщика нагрузки, чтобы понять последствия включения липких сессий.
- Если ваш сервис геообработки не использует картографические сервисы для отображения выходных данных и не определено выходных данных типа 'Файл', то для сервисов геообработки можно выбрать синхронное выполнение. Не требуется никаких липких сессий в балансировщике нагрузки.
Использование безопасности на уровне токенов
При использовании аутентификации на уровне токенов, которую также называют аутентификацией на уровне ГИС, важно, чтобы все сайты конфигурации использовали один и тот же ключ токена. В противном случае токены, созданные для одного компьютера, не подойдут для применения на другом. Чтобы узнать о дублировании общих ключей токенов для нескольких сайтов, обратитесь к разделам О токенах ArcGIS и Редактирование настроек токенов в Manager.
Достоинства
- Концептуально простой. Минимальные взаимозависимости между компьютерами ArcGIS Server позволяют легко заменять устаревшие и неисправные машины, применять обновления, добавлять и удалять машины из пула серверов ArcGIS Server по мере необходимости, не прерывая сервисы или запросы.
- Если листы карты хранятся локально на каждой машине, подобная конфигурация обеспечит неплохое увеличение производительности по сравнению с сайтами с несколькими машинами. На самом деле такая конфигурация идеально подходит, если вашей целью является увеличение вместимости кэшированных картографических сервисов.
Недостатки
- Вашей задачей является синхронизация всех сайтов. Это добавляет задачи администрирования, которые могут сделать этот шаблон развертывания непрактичным для случаев, когда у вас много компьютеров или сервисов / листов кэша, которые часто изменяются.
- Необходимы знания о балансировщиках загрузки сторонних разработчиков.