该配置是单机高可用性(主动 - 被动)部署的一个变化,其中负载均衡器配置为随时在所有站点中分布负载。该配置中不存在备用站点。
在该架构中,将在第三方负载均衡器后台配置两个或多个站点以提高 ArcGIS Server 部署的容量。可使用该技术来适应单机部署和使用反向代理服务器的单机部署部署方案中所述的一些高可用性限制,或通过添加更多机器进行扩展。
虽然可通过使用多机站点来扩展和实现高可用性,但主动 - 主动部署仍具有其优势和限制,这将在下文中进行讨论。
在高级别中,单机主动 - 主动架构的理念是克隆单机站点,并将其独立的实例放置在负载均衡器之后。从技术角度讲,该配置不能被描述为多机站点,因为所有站点都是彼此独立的,其中每个站点都包含单个 ArcGIS Server 计算机,并具有其自己的本地配置存储和服务器目录。
多机 ArcGIS Server 站点部署极大地简化了服务器管理。但是,主动 - 主动架构可用于符合以下条件的情况中:服务的数量和设置均已明确定义、保持静态并可以为多机站点提供巨大的性能优势,尤其是缓存地图服务。
ArcGIS Server 计算机、服务器目录和配置存储
每个 ArcGIS Server 计算机都必须拥有其自己的本地配置存储和缓存、作业以及系统目录。这将确保发挥最佳性能并将相关性保持在最低。相反,必须在各个站点之间共享输出目录。有关更多信息,请参阅以下其他注意事项。
数据
在此参考单机高可用性(主动 - 被动)部署中所述的注意事项。
反向代理服务器
在此配置中,需要第三方负载均衡器。该组件将至少在所有站点中分配负载。负载均衡器具有用于分配负载的不同配置,例如轮询和最少连接。选择正确的负载分配取决于您在 ArcGIS Server 站点上运行的 web 服务及其使用模式。通常,负载均衡器还通常使用多个选项处理故障。例如,您可以将规则应用于负载均衡器,以阻止其将请求转发至因硬件或网络故障或特殊 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、脚本或虚拟影像手动应用上述过程中的站点更改。
输出目录共享
某些 ArcGIS Server 服务操作会引用一个或多个输出目录中的资源。例如,地图服务可能会将影像写入到输出目录,并在请求响应中通过 URL 引用这些影像。为使客户端成功获取影像,使用主动-主动配置的所有站点所引用的输出目录必须相同。通过将输出目录放置在网络资源上并将其与您的站点共享,可实现这一点。
以下列出了将使用输出目录的服务操作:
异步执行地理处理服务
ArcGIS Server 地理处理服务支持两种执行模式:同步和异步。同步执行遵循无状态请求-响应的模式,且完全受主动-主动配置的支持。异步执行遵循有状态的请求-响应模式,且为默认模式。要在主动-主动配置下使用异步执行,需考虑以下内容:
- 提交异步地理处理作业时,将返回给您一个作业 ID,指出所提交的作业及其输出。只有收到原始请求的 ArcGIS Server 站点才能识别此 ID。因此,如果想要使用异步执行,主动-主动配置需要您定义负载均衡器的密切度(也称为粘滞会话)。这将会为异步地理处理和地图服务输出提供高可用性。要了解启用粘滞会话的含义,请联络您的负载均衡器供应商。
- 如果您的地理处理服务未使用地图服务来渲染输出,并且尚未定义类型“文件”的输出,则可为您的地理处理服务选择同步执行。无需在负载均衡器中使用粘滞会话。
使用基于令牌的安全性
如果使用基于令牌的身份验证(也称为 GIS 层身份验证),则该配置中的所有站点使用完全相同的共享令牌密钥十分重要。否则,针对一个计算机生成的令牌在用于其他计算机时将无效。要了解如何复制多个站点中共享的令牌密钥,请参考关于 ArcGIS 令牌和在 Manager 中编辑令牌设置。
优点
- 概念上简单明了。ArcGIS Server 计算机之间的最小相关性使得替换过时或出错计算机、应用升级或根据需要从 ArcGIS Server 池中添加和移除计算机(在不中断服务或中止请求的情况下)变得十分简单。
- 如果地图切片存储在每个本地计算机上,则该配置将提供比多机站点更为出众的性能优势。事实上,如果您的目的是提高缓存地图服务的性能,则该配置将十分理想。
缺点
- 您的责任是使所有站点保持同步。这将增加管理开销,使得该部署模式不适用于具有许多更改频繁的计算机或服务/缓存的情况。
- 需要掌握第三方负载均衡器的知识。