为消除 ArcGIS Server 层中的单点故障,单机 ArcGIS Server 站点可以以故障形式进行配置,其中包含第三方负载均衡器。
在高级别中,部署模式的理念是克隆单机站点,并将其两个或多个独立实例放置于负载均衡器后台,配置为主动 - 被动。负载均衡器后台的所有站点均正在运行并且能够回应服务请求时,负载均衡器仅会将请求转移至其中一个站点(指定为主站点)。如果负载均衡器检测到主站点不可用,收到的请求之后将重定向到故障或备用站点。
故障过程将全部在 ArcGIS Server 外部进行处理,通常可以配置为在 ArcGIS Server 计算机完全不可用(网络或硬件故障)时触发,在某些情况下,在特定 GIS 服务或操作失败的情况下触发。
注:
可针对备用或故障站点从 My Esri 请求许可文件,不产生任何额外成本。
如果在此部署模式中有多个用于托管 ArcGIS Server 的计算机,则该配置在技术上无法描述为多机站点,因为负载均衡器的所有后台站点都彼此独立。每个站点都由单个 ArcGIS Server 计算机组成,并具有其自己的本地配置存储和服务器目录。
ArcGIS Server 计算机、服务器目录和配置存储
在此参考单机部署中所述的注意事项。每个 ArcGIS Server 都有自己的本地服务器目录和配置存储。这将确保发挥最佳性能并将相关性保持在最低。
数据
如果在 GIS 服务中使用基于文件的数据源,则建议将这些数据源存储在每个本地 ArcGIS Server 计算机上(而并非存储在网络共享上)以实现服务性能的最大化。在某些情况下,例如在处理大量影像时,在网络上共享文件可能是唯一可行的选择。如果在网络上使用共享资源中的文件,则选择高可用性配置的存储设备十分重要。
如果使用数据库,则可以为每个站点指定一个数据库:为主站点指定一个数据库,并为备用站点指定一个单独的数据库。为使数据库保持同步,可利用数据库复制,或根据需要利用地理数据库复制技术。或者,可利用数据库提供程序中的其他高可用性技术。
反向代理服务器
在此配置中,需要第三方负载均衡器。必要时,该组件将至少用于处理整个站点的负载和故障。通常,负载均衡器本身还将履行使用反向代理服务器的单机部署中所述的反向代理服务器角色。在某些情况下,您可能已独立于负载均衡器配置了反向代理服务器。
如果您的网络负载均衡器支持健康检查功能,您可以使用 ArcGIS Server 的健康检查端点来确定站点是否可以接收请求。这有助于快速确定站点中是否存在软件或硬件故障。有关详细信息,请参阅 ArcGIS REST API 中的健康检查。
仅当想要使用 web 层身份验证时才需要使用 ArcGIS Web Adaptor,通常情况下可选择使用。为简单起见,可选择在 ArcGIS Server 所在的计算机上进行配置。或者,可在指定计算机上进行配置。无论在哪种情况下,如果使用 ArcGIS Web Adaptor,则必须为每个站点配置一个单独的 ArcGIS Web Adaptor。
其他注意事项
使站点中的服务保持同步
与真实的多机站点不同,该配置要求负载均衡器的所有后台站点均托管完全相同的内容并遵循相同的安全性模型。您负责确保所有站点对于负载均衡器都是完全相同的。
有多种技术可帮助您使主站点和故障站点中的 ArcGIS Server 服务保持同步:
- 脚本:ArcGIS Server 包括可用于编写管理任务(例如发布服务和更改安全性设置)脚本的 RESTful 管理 API。可创建自己的脚本以对部署中包含的所有 ArcGIS Server 进行统一更改。如果需要进行微调,例如更改服务的安全性或对其进行覆盖,则脚本编写将尤为有用。有关详细信息,请参阅编写 ArcGIS Server 管理脚本。
- 虚拟化:如果在虚拟环境中进行操作,则可以创建虚拟计算机模板并将其用于启动新站点。每个模版都将具有 GIS 服务所需数据的副本(除非使用数据库)。该模版还将发布和配置所有服务。如果需要进行更改,例如添加或更新现有服务,则可创建新模板以稍后启动新的虚拟计算机,该计算机将替换负载均衡器中使用的现有 ArcGIS Server 计算机池。虚拟计算机模板还可用于快速恢复过时的 ArcGIS Server 计算机。
要在此部署模式中将更改应用于站点,建议使用以下过程:
- 首先将对备用模式下的站点进行管理上的更改。例如,您将添加新服务并更改站点中没有积极处理请求的其他服务的安全性。这将确保使用主站点绝对不会对应用程序产生任何影响。
- 手动配置负载均衡器以将所有请求移交至已进行更改的备用站点。
- 对空闲站点应用相同的更改。
- 恢复负载均衡器,这样请求将返回初始的主站点,并使备用站点一直处于备用模式。
可通过 ArcGIS Server Manager、脚本或虚拟影像手动应用上述过程中的站点更改。
异步地理处理和长时间运行的任务
负载均衡器切换至备用站点时,主站点中的所有活动请求都将丢失。例如,如果长时间运行的请求(例如地理处理任务)在发生故障时运行,则该任务需要在备用站点中由客户端应用程序重新启动。
使用基于令牌的安全性
如果使用基于令牌的身份验证(也称为 GIS 层身份验证),则该配置中的所有站点使用完全相同的共享令牌密钥十分重要。否则,主站点中生成的令牌在用于备用站点时无效。要了解如何复制多个站点中共享的令牌密钥,请参考关于 ArcGIS 令牌和在 Manager 中编辑令牌设置。
优点
- 通过主动 - 被动故障配置可构建多余的 ArcGIS Server 层,而不会产生任何额外的许可费。可在不产生任何额外成本的情况下许可备用服务器。
缺点
- 负载均衡器的所有后台站点均彼此独立。必须单独管理每个站点;站点具有其自己的本地配置存储和服务器目录。如果站点服务或数据频繁更改,则可能会增加不菲的管理开销。
- 切换至备用站点时,主站点中的任何活动请求都将丢失。