Балансировщики нагрузки и обратные прокси являются распространенными технологиями в современных веб-приложениях и архитектурах и могут развертываться независимо или в комбинированной конфигурации. В этом разделе представлен обзор этих технологий, а также комментарии о соответствующих сценариях использования в системах ArcGIS и соответствующих возможностях, которые эти технологии предоставляют.
Многие системы ArcGIS реализуют балансировку нагрузки в сочетании с использованием обратного прокси. К распространенным способам реализации относятся:
Esri предоставляет устанавливаемый программный компонент ArcGIS, ArcGIS Web Adaptor, для обеспечения балансировки нагрузки и функциональности обратного прокси в развертываниях ArcGIS Enterprise. Web Adaptor – это не единственный вариант для проектирования систем ArcGIS Enterprise с использованием балансировщика нагрузки и обратного прокси, но это распространенный шаблон, предлагающий решение, которое поддерживается службой технической поддержки Esri. Также может быть использована внешняя аппаратная или программная подсистема балансировки нагрузки, в зависимости от предпочтений и технических требований. Тип рабочей нагрузки и частота запроса помогут определить, какой тип балансировщика нагрузки может подойти для ваших потребностей. Ознакомьтесь с разделом Развертывание нескольких компьютеров с помощью стороннего балансировщика нагрузки для получения указаний, связанных с вашей конкретной версией ArcGIS и операционной системой.
Для достижения отказоустойчивой конфигурации веб-адаптер может быть сконфигурирован с одним компьютером на сайте с высоким уровнем отказоустойчивости и включать в себя логику для обнаружения других компьютеров на сайте, мониторинга их состояния и переадресации на них запросов, когда они работоспособны. Эта логика является значительным преимуществом включения ArcGIS Web Adaptor в проект системы, поскольку она может обрабатывать изменения в развертывании ArcGIS Enterprise легче, чем ручная проверка работоспособности или настройка балансировщика нагрузки.
В то время как веб-адаптер может обеспечить балансировку нагрузки и функциональность обратного прокси во многих сценариях, многие многопользовательские системы, созданные с помощью ArcGIS, также реализуют дополнительные внешние программные или аппаратные компоненты для достижения функциональных целей этих двух технологий. Примеры использования:
По мере того, как организации переходили от традиционных локальных архитектур, где демилитаризованная зона (ДМЗ) чаще всего использовалась для предоставления интернет-клиентам доступа к сервисам и конечным точкам, к облачным архитектурам, где облачные сервисы обеспечивают эту функциональность в большинстве случаев, условия и методы использования архитектуры, связанные с обратными прокси-серверами и балансировкой нагрузки, также менялись.
Эти технологии обеспечивают такие преимущества, как масштабируемость, отказоустойчивость и безопасность.
Система ArcGIS может масштабироваться для поддержки как небольших, так и крупных развертываний. Чтобы приспособиться к растущим размерам развертывания, ArcGIS может использовать множество методов и технологий балансировки нагрузки. Алгоритмы балансировки нагрузки, используемые для диспетчеризации клиентских запросов, могут варьироваться от простых круговых подходов до более сложных алгоритмов, учитывающих такие факторы, как текущее количество подключений, использование хостинга или реальное время отклика.
Балансировщик нагрузки способствует повышению производительности, распределяя нагрузку между несколькими компьютерами и соответствующими ресурсами. В примере с отказоустойчивостью балансировщики нагрузки ArcGIS Web Adaptor распределяют запросы ГИС-сервера между двумя хост-серверами ArcGIS Enterprise. Если в системе много пользователей, выполняющих схожие рабочие процессы, требующие значительного объема обработки, например рабочий процесс редактирования, включающий длительные транзакции с интенсивным использованием процессора, балансировщик нагрузки может обеспечить балансировку этих запросов между доступным оборудованием, в то время как рабочие процессы с сильно изменяющимися требованиями к обработке могут выиграть от разделения рабочей нагрузки, а не балансировки нагрузки.
Балансировка нагрузки также обеспечивает отказоустойчивость конфигураций ArcGIS за счет распределения запросов по сайту или кластеру компьютеров, которые имеют одну и ту же роль. Например, если отказоустойчивость настроена в развертывании ArcGIS Enterprise на нескольких компьютерах, балансировщик нагрузки (ArcGIS Web Adaptor) поочередно отправляет запросы на основной и дополнительный серверы хостинга ArcGIS, как показано.
Обратный прокси в этом случае обеспечивает единую точку входа - один IP-адрес, который скрывает систему от конечного пользователя. Обратный прокси направляет трафик к веб-адаптерам ArcGIS в соответствии со своим алгоритмом, который обычно является циклическим, но может быть более надежным. Как и ArcGIS Web Adaptor, многие балансировщики нагрузки отслеживают работоспособность или доступность сервера и удаляют неработоспособные или недоступные машины из списка распределения, обеспечивая отказоустойчивость системы.
Метод и эффективность этой возможности зависят от балансировщика нагрузки. Некоторые аппаратные балансировщики нагрузки имеют богатые алгоритмы, которые позволяют им подстраиваться на лету в зависимости от нагрузки или времени отклика. Другие работают по простому циклическому списку, где список может периодически обновляться, чтобы отражать только исправные машины.
Обратный прокси-сервер, как правило, предоставляет доступ к одному IP-адресу в Интернете или внутренней сети для определенной системы и распределяет запросы к нужному ресурсу. Это значительно снижает риски в сфере безопасности, поскольку внутренняя топология сети и систем скрыта, а количество точек взлома уменьшается в случае атаки. Этот метод также упрощает предоставление и потребление услуг за счет предоставления единой точки доступа к системе. Большинство организаций используют прокси-серверы, чтобы их сайты не подвергались атакам извне.
Обратный прокси-сервер может быть настроен на обмен данными либо напрямую с ArcGIS Server, либо через ArcGIS Web Adaptor, за счет добавления соответствующих URL-адресов в директивы прокси.
Более подробно см. в разделе Настройка обратного прокси-сервера с помощью ArcGIS Server.
Общие рекомендации по реализации балансировки нагрузки и обратных прокси включают в себя:
Для многих других приложений или систем завершение TLS в подсистеме балансировки нагрузки является распространенной архитектурой приложений. Для систем ArcGIS завершение TLS обычно не рекомендуется, а в случае Portal for ArcGIS не поддерживается. Поддержание сквозных TLS-соединений обеспечивает более высокий уровень безопасности и гарантирует, что запросы пользователей и данные не будут видны злоумышленнику в сети.
При реализации любой технологии балансировки нагрузки с помощью системы ArcGIS рассмотрите следующие стратегии:
healthCheck
должны давать положительный ответ только в том случае, если система работает правильно и может принимать запросы.Обратные прокси-серверы часто реализуются как часть балансировщика нагрузки, так как многие балансировщики нагрузки отправляют запросы на другой внутренний порт или сервис, нежели тот, от которого исходит внешний запрос. При реализации обратного прокси-сервера (вместе с балансировщиком нагрузки или отдельно от него) следует учитывать следующие рекомендации по проектированию:
Некоторые обратные прокси могут по умолчанию использовать несколько частей URL для ссылки на систему ArcGIS, например:
https://centralhost.domain.com/systems/gis/rest/services
Обратите внимание, что использование подобных составных URL-адресов не поддерживается компонентами ArcGIS Enterprise, “веб-контекст” или имя веб-адаптера должны быть первым компонентом URL после имени хоста в URL.