部署 ArcGIS GeoEvent Server 时,设计和规划特定于实时可视化和分析用例的系统架构非常重要。 其中包括硬件和软件组件以及它们之间的连接。 还包括人为因素:负责操作系统的用户和权限要求,以及为使系统保持最佳运行状态而必须遵循的最佳做法。
最终,您将部署 GeoEvent Server 以获取、分析并向最终用户传播实时和大数据内容,以启用组织工作流,从而制定更明智的决策。 您必须对部署进行设计,以确保其在所有这些不同的工作流和用例中的完整性。
实时可视化和分析工作流通常涉及支持具有不同分析要求的多个数据源。 每个工作流通常会对系统资源产生不同的影响。 通过这种灵活性,在计划阶段定义特定的工作流程和用例并构建满足这些要求的系统非常重要。
下面的最佳做法可以帮助您计划、设计和部署具有有效操作性能和可靠性策略的系统架构。
环境隔离
在生产环境中托管 GeoEvent Server 的系统应相对于开发和测试系统处于独立的环境中。 这种做法称为环境隔离;它可以降低最终用户所依赖的实时服务意外更新或删除的风险。
开发、过渡和生产
通用环境隔离模型包含三个等级:开发、过渡和生产。 最好至少实现这三个层次,并且根据您的开发和测试实践,您可能需要其他的层次。
在开发环境中,GeoEvent Server 管理员可以开发和实施新的实时服务,而不会影响最终用户。 该专用服务器环境通常用于单位测试、创建新的事件处理工作流以及创建和部署新的工作流和功能。 环境的大小和复杂性取决于更改产生的风险级别、内容创建者的数量以及系统中断和停机的潜在影响。
过渡环境与最终生产环境隔离,可以存在多个过渡环境,但过渡环境应尽可能地反映生产环境。 这样可确保在部署到生产环境之前,对系统和实时服务中出现的任何问题进行检测。 例如,如果您要追踪车辆位置并在服务车辆进入设施时发出警报,则过渡环境必须复制相同的工作流。 最佳做法是,在部署到生产环境之前,在过渡环境中测试软件、应用程序、配置和网络。
生产环境是为最终用户提供支持组织工作流的实时图层、地图和应用程序的系统。 您可能具有用于定义可接受停机时间级别的服务级别协议 (SLA)。 必须持续监控生产环境的可用性,并考虑合适的预防停机方法,例如备份和备用计算机。
同步 GeoEvent Server 配置
您可以在层级系统中管理 GeoEvent Server 的配置,可以在各个层级手动更新所需更改,也可以使用 GeoEvent Server 配置文件。 尽管手动方法是一种可行的方法,但是导出和导入 GeoEvent Server 配置是更新不同层级的最简单的方法。
配置文件是 XML 格式的文本文件,如果需要更新键字符串(例如服务器名称),则可以在文本编辑器中进行编辑。 此外,导入 GeoEvent Server 配置文件时,您可以执行选择性导入,这种方式有两个优点。 首先,您可以选择仅导入已更新的组件,以减少对目标配置的影响。 其次,与新导入的配置相关的任何问题都将被隔离到那些更改中,并且可以通过隔离方式进行故障排除。
建议您在导入任何新配置之前创建层级配置的备份。 这样可以确保在需要时能够恢复为先前的配置。 默认情况下,GeoEvent Server 将在夜间创建自动备份,但是建议您在导入新配置之前先导出配置。
有关管理配置的详细信息,请参阅配置。
负载均衡
对于传入和传出事件源,负载均衡器可以位于客户端和服务器之间的中间位置。 它们可识别并接受通信,然后将其传递给正确的接收者,从而在可用计算资源中分配客户端的工作负载。 在此过程中,负载均衡器可提高服务器安全性、平衡系统使用并简化服务交付。
GeoEvent Server 无法使用 ArcGIS Web Adaptor 作为传入事件源负载均衡器。 当对 GeoEvent Server 部署进行负载均衡时,必须使用其他第三方技术。 事件源本身的性质决定了必须部署的负载均衡策略。
有关这些策略的详细信息,请参阅可扩展性,可靠性和弹性策略。
对于传出事件源,可以使用标准的第三方负载均衡器在目标服务器之间分配事件负载。 如果目标系统是 ArcGIS Enterprise,则可以将 ArcGIS Web Adaptor 与多机 GIS 服务器站点结合使用,以提高可伸缩性和可靠性。
ArcGIS Web Adaptor 实例使用轮询模式将传入请求分发到多机 ArcGIS Server 站点。 对于简单配置,建议在部署中包含 ArcGIS Web Adaptor 实例。
GeoEvent Server 的更高级配置可以从使用第三方负载均衡器中受益。 您可通过这些组件使用自定义逻辑(以轮询以外的其他模式分发请求)、管理非对称负载并提供附加安全措施(例如反向代理)。 使用第三方负载均衡器可以帮助您的组织处理高级业务和技术要求。
建议您在 ArcGIS Enterprise 部署中至少使用一个负载均衡器,无论是 ArcGIS Web Adaptor 还是第三方组件。 使用负载均衡器有助于限制进入系统的点数、隐藏网络的内部拓扑以及简化操作。
工作负载分离
您的组织可能具有多个团队,这些团队在 GeoEvent Server 部署中定义不同类型的工作。 每个团队的资源要求,以及管理其工作的期望或合同通常是不同的。 例如,显示事件量消耗公共请求峰值的事件源可能需要偶尔访问强大的资源,而追踪一组车队的稳定性事件源可能需要经常访问强度较低的地图和应用程序。
在 GeoEvent Server 部署的规划阶段中,需要标识您的系统中将执行的每个事件源的使用模式。 然后,将实时事件处理工作负载分配给适当的服务器资源,并根据它们的资源使用情况隔离不同的实时服务。
分离组织的各种实时服务的工作负载时,由一组服务完成的工作将不会影响另一组服务的可用资源。 当 SLA 管理组织的部分或全部实时 GIS 操作时,这一点非常重要。 如果您有义务为用户提供某个级别的可用性,则隔离其计算机资源可降低每个团队的工作干扰其他资源的风险。
工作负载分离技术
工作负载分离通常是通过并排部署多个 GeoEvent Server 计算机实现的。 每台 GeoEvent Server 计算机将专用于服务特定用例或处理具有类似要求的某些事件源。
部署多台 GeoEvent Server 计算机后,您可以通过在各个 GeoEvent Server 计算机上配置实时服务或使用事件路由技术(例如基于事件数据的类型/源以及工作流分配事件数据的负载均衡器)将事件数据发送到不同的计算机。 这将有效地减少不同计算机之间的资源争用。 例如,可能一台 GeoEvent Server 计算机接收车辆位置数据并执行必要的实时分析,而另一台则接收并管理所有市民的援助请求。 在此示例中,您组织的车辆位置追踪工作流将不受大型气候事件期间可能提交的大量市民请求的影响。 使用负载平衡器管理数据源可提供灵活性和对事件数据的控制,进而提高系统稳定性。 使用负载平衡器的一个缺点是它们增加了系统架构的复杂性,并且需要其他工具和技能来配置和维护。
部署多个用于工作负载分离的 GeoEvent Server 计算机,您可以将具有不同资源的计算机分配给不同的事件源。 当在一个源上执行的事件处理比在另一个源上执行的计算强度更大时,这将非常有用。