При развертывании ArcGIS GeoEvent Server важно спроектировать и спланировать архитектуру системы так, чтобы она подходила для ваших сценариев визуализации и аналитики в режиме реального времени. Это включает в себя аппаратные и программные компоненты и связь между ними. Также это включает в себя человеческий фактор: людей, которые будут работать над системой, требования к их допуску и практические рекомендации, которым они должны следовать, чтобы поддерживать оптимальную работу системы.
В конечном счете, вы разворачиваете GeoEvent Server для приема, анализа и распространения ресурсов больших данных в реальном времени среди конечных пользователей таким образом, чтобы обеспечить рабочие процессы организации, которые приводят к принятию более эффективных и обоснованных решений. Развертывание должно быть разработано таким образом, чтобы обеспечить его целостность в различных рабочих процессах и вариантах использования.
Визуализация и аналитические рабочие процессы в режиме реального времени часто включают поддержку нескольких потоков данных с различными требованиями к анализу. Разные рабочие процессы обычно по-разному влияют на системные ресурсы. При таком уровне гибкости важно определить характерные рабочие процессы и варианты использования на этапе планирования и построить систему, соответствующую этим требованиям.
Приведенные ниже рекомендации помогут вам спланировать, спроектировать и развернуть системную архитектуру с эффективными стратегиями повышения производительности и надежности.
Изоляция среды
Система, в которой размещается продуктивный GeoEvent Server, должна находиться в отдельной среде от систем разработки и тестирования. Эта практика известна как изоляция среды; она снижает риск нежелательного обновления или удаления сервисов реального времени, от которых зависят конечные пользователи.
Разработка, промежуточная среда и производство
Обычно модель изоляции среды содержит три уровня: разработка, промежуточная среда и производство. Оптимальным является внедрение как минимум этих трех уровней, но в зависимости от используемых методов разработки и тестирования вам могут потребоваться дополнительные уровни.
В среде разработки администраторы GeoEvent Server могут работать над разработкой и внедрением новых сервисов реального времени, не оказывая влияния на конечных пользователей. Эта выделенная среда сервера обычно используется для модульного тестирования, создания новых рабочих процессов обработки событий, а также создания и развертывания новых рабочих процессов и возможностей. Размер и сложность среды зависят от уровня риска, создаваемого изменениями, количества создателей ресурсов и потенциального воздействия сбоев и простоев системы.
Промежуточная среда (их может быть несколько) изолирована от производственной среды, но отражает эту среду максимально точно. Это гарантирует, что любые проблемы с системой и сервисами реального времени будут обнаружены до развертывания в производственной среде. Например, если вы отслеживаете местоположение транспортного средства и сообщаете, когда служебное транспортное средство въезжает на объект, промежуточная среда должна реплицировать этот рабочий процесс. Рекомендуется всегда тестировать программное обеспечение, приложения, конфигурации и сети в промежуточной среде перед их развертыванием в производственной среде.
Производственная среда - это система, предоставляющая конечным пользователям в реальном времени слои, карты и приложения, поддерживающие рабочие процессы организации. У вас могут существовать соглашения об уровне обслуживания (SLA), определяющие допустимый уровень простоя. Доступность производственной среды должна быть постоянно под контролем, и должны быть доступны для использования соответствующие методы предотвращения простоев, такие как резервное копирование и резервные компьютеры.
Дополнительные сведения см. в разделах Высокая доступность в ArcGIS Server, ArcGIS Enterprise и Развертывание GeoEvent Server.
Синхронизация конфигураций GeoEvent Server
Конфигурацией GeoEvent Server в многоуровневой системе можно управлять одним из двух способов: необходимые изменения обновляются вручную на каждом уровне или можно использовать конфигурационный файл GeoEvent Server. Несмотря на то, что ручной способ практически осуществимым, экспорт и импорт конфигураций GeoEvent Server является самым простым способом обновить различные уровни.
Следует отметить, что конфигурационные файлы - это текстовые файлы, отформатированные в формате XML, которые можно редактировать в текстовом редакторе, если необходимо обновить ключевые строки, например имена серверов. Кроме того, при импорте конфигурационного файла GeoEvent Server у вас есть возможность выполнить выборочный импорт, который имеет два преимущества. Во-первых, вы можете импортировать только те компоненты, которые были обновлены, что позволяет уменьшить нагрузку на целевую конфигурацию. Во-вторых, любые проблемы, связанные с вновь импортированной конфигурацией, будут изолированы, чтобы эти изменения и устранение неполадок можно было изолировать.
Рекомендуется всегда создавать резервную копию конфигурации уровня перед импортом любой новой конфигурации. Это даст гарантию того, что при необходимости вы всегда сможете вернуться к предыдущей конфигурации. GeoEvent Server по умолчанию создает автоматические резервные копии каждую ночь, но лучше экспортировать конфигурацию перед импортом новой конфигурации.
Дополнительные сведения об управлении конфигурациями см. в разделе Конфигурации.
Балансировка нагрузки
Балансировщики нагрузки могут занимать промежуточное положение между клиентами и серверами как для входящих, так и для исходящих каналов событий. Они идентифицируют и принимают сообщения и передают их правильному получателю, распределяя рабочую нагрузку клиента по доступным вычислительным ресурсам. Таким образом, балансировщики нагрузки повышают безопасность сервера, уравновешивают использование системы и упрощают предоставление сервисов.
GeoEvent Server не может использовать ArcGIS Web Adaptor в качестве балансировщика нагрузки входящего потока событий. Для балансировки нагрузки при развертывания GeoEvent Server следует использовать другие сторонние технологии. К сожалению, сама природа каналов событий диктует необходимость развертывания стратегии балансировки нагрузки.
Дополнительные сведения об этих стратегиях см. в разделе масштабируемость и надежность GeoEvent Server.
Для исходящих каналов событий можно использовать стандартные сторонние балансировщики нагрузки, чтобы распределить нагрузку событий по целевым серверам. Если целевой системой является ArcGIS Enterprise, для повышения масштабируемости и надежности можно использовать ArcGIS Web Adaptor в сочетании с сайтом ГИС-сервера с несколькими компьютерами.
Экземпляры ArcGIS Web Adaptor распределяют входящие запросы на сайты ArcGIS Server с несколькими компьютерами по циклической схеме. Для простых конфигураций рекомендуется включение в развертывание экземпляров ArcGIS Web Adaptor.
Более продвинутые конфигурации GeoEvent Server могут получить положительный эффект от использования стороннего балансировщика нагрузки. Эти компоненты позволяют использовать пользовательскую логику (распределение запросов по шаблону вместо циклического перебора), управлять асимметричными нагрузками и обеспечивать дополнительные меры безопасности, такие как обратные прокси-серверы. Использование стороннего балансировщика нагрузки может помочь вашей организации решить сложные бизнес и технические задачи.
В развертывании ArcGIS Enterprise рекомендуется использовать хотя бы один балансировщик нагрузки, независимо от того, является ли он ArcGIS Web Adaptor или сторонним компонентом. Использование балансировщиков нагрузки помогает ограничить количество точек входа в систему, скрывая внутреннюю топологию сети и упрощая операции.
Разделение рабочей нагрузки
В вашей организации определять различные типы работы в развертывании GeoEvent Server могут несколько различных команд. Потребности в ресурсах для каждой команды и ожидания или контракты, регулирующие их работу, часто различны. Например, один канал событий, отображающий большие всплески событий от принимаемых публичных запросов, может нуждаться в нерегулярном доступе к мощным ресурсам, в то время как канал постоянных событий, отслеживающий парк транспортных средств, может нуждаться в постоянном доступе к менее интенсивным картам и приложениям.
На этапе планирования развертывания GeoEvent Server определите потребности и модели использования каждого канала событий, который будет реализован в вашей системе. Затем распределите рабочую нагрузку обработки событий в реальном времени на соответствующие ресурсы сервера и изолируйте различные сервисы реального времени в зависимости от их потребностей в использовании ресурсов.
При разделении рабочих нагрузок различных сервисов реального времени работа, выполняемая одним набором сервисов, не влияет на ресурсы, доступные для другого набора сервисов. Это важно, когда SLA используются для управления некоторыми или всеми ГИС-операциями в реальном времени вашей организации. Если вы обязаны предоставить пользователям определенный уровень доступности, изоляция их компьютерных ресурсов снижает риск того, что работа каждой команды повлияет на другие ресурсы.
Методы разделения рабочей нагрузки
Разделение рабочей нагрузки обычно выполняется путем параллельного развертывания нескольких компьютеров GeoEvent Server. Каждый компьютер GeoEvent Server определяется для обслуживания конкретных вариантов использования или для работы с определенными потоками событий со схожими требованиями.
При развертывании нескольких компьютеров GeoEvent Server данные событий могут быть отправлены на разные компьютеры путем настройки сервисов реального времени на каждом компьютере GeoEvent Server либо с помощью технологии маршрутизации событий, такой как балансировщик нагрузки, который распределяет данные событий в зависимости от типа или источника данных событий или рабочего процесса. Это значительно уменьшает конкуренцию ресурсов среди различных компьютеров. Например, возможно один компьютер GeoEvent Server получает данные о местоположении транспортного средства и выполняет необходимый анализ в режиме реального времени, в то время как другой компьютер получает и управляет всеми запросами граждан об оказании помощи. В этом примере рабочие процессы отслеживания местоположения транспортных средств вашей организации не будут зависеть от наплыва запросов граждан, отправляемых во время сильного метеоявления. Использование балансировщика нагрузки для управления потоками данных обеспечивает гибкость, позволяет контролировать данные событий и, в свою очередь, повышает стабильность системы. Одним из недостатков использования балансировщиков нагрузки является то, что они повышают сложность архитектуры системы и требуют дополнительных инструментов и навыков настройки и обслуживания.
Развертывание GeoEvent Server на нескольких компьютерах для разделения рабочей нагрузки позволяет назначать компьютеры с различными ресурсами различным каналам событий. Это может быть полезно, когда обработка событий, выполняемая на одном канале, требует больших вычислительных затрат, чем на другом канале.