ArcGIS Server 支持多机站点的配置。在多机站点中,可管理两台或多台服务器,并将其用作单个逻辑单元,这可为 ArcGIS Server 管理员提供极大的灵活性,可通过添加或移除计算机来轻松调整站点的计算能力。多机站点可简化在多台 ArcGIS Server 计算机之间发布和更新服务的过程。
在多机部署中,为了使站点能够正常运行,每台 ArcGIS Server 计算机必须具有相同版本号。此外,还必须向参与站点的所有计算机应用完全相同的许可。
常见多机配置包括在 ArcGIS Server 计算机池之前设置的第三方反向代理服务器或网络负载均衡器。
多机配置的一个重要方面在于所有 ArcGIS Server 计算机共享同一配置存储和服务器目录。鉴于这种方式,管理员可使用 ArcGIS Server Manager 登录任何计算机并应用可影响站点内所有计算机的更改。
ArcGIS Server 计算机、服务器目录和配置存储
由于多机配置中的所有 ArcGIS Server 计算机共享同一配置存储和服务器目录,因此您必须为服务器目录和配置存储选择网络位置。
通常,选择域帐户作为 ArcGIS Server 帐户,因为这样会简化对网络资源的数据访问权限的管理。但是,根据您自己的安全策略,您可能选择使用本地帐户。ArcGIS Server 帐户(本地或域)需要对配置存储和服务器目录所在的网络共享具有写入权限。有关详细信息,请参阅 ArcGIS Server 使用的帐户。
在多机站点中,所有 ArcGIS Server计算机最初都属于使用 4004 及以上端口的单个集群。从 10.4 版本起,ArcGIS Server 在进行新安装过程中默认设置为单个集群模式。该模式不包括集群中计算机间的负载均衡。这不仅可以减少站点内的机器之间的网络流量,降低网络上的负载,还有助于更好地监控站点内的 ArcGIS Server 计算机。当从先前版本升级至 10.4 或更高版本时,将为当前未使用单个集群模式的单个集群站点启用该模式。已使用单个集群模式的单个集群站点以及较早版本中具有多个集群的站点会在升级时保留其设置。
如果站点使用的是多个集群,则会在每个群集内的所有 ArcGIS Server 计算机间进行负载均衡。从本质上来说,集群是相互独立的计算机组,分别运行专用的服务集。
例如,即使请求已被定向到集群内部或外部的特定计算机,仍会将收到的请求分配给集群中的可用 ArcGIS Server 计算机。接下来,此计算机就会执行绘制地图、查找地址坐标、运行地理处理工具等工作,并将结果返回到客户端。如果计算机离线,或请求的服务是在其他集群中运行的,则会将请求转发至包含该服务的集群中。该集群中的 ArcGIS Server 计算机会相应地进行负载均衡,并处理该请求。
数据
如在其他部署方案中所述,在使用基于文件的数据时,强烈建议您将本地资源用于 ArcGIS Server 计算机。这样虽会迫使您将数据复制到所有计算机,但却可降低网络流量,最终实现服务的较高性能。您应对此选择加以考虑并在恰当时使用。如果将数据保存在所有计算机本地是一种实用的方法,则通常需要指定数据的大小和更新频率。
如果在此部署模式中使用数据库,则始终使用专用硬件十分重要。保持数据库层独立于 ArcGIS Server 层。
第三方反向代理服务器或网络负载均衡器
在此配置中,ArcGIS Server 客户端从不直接连接 ArcGIS Server 计算机。相反,可通过中间层连接它们,该中间层可提供安全功能并让整个站点具有更高的故障应对能力。
从安全性角度考虑,不推荐您访问相同的通道来使用和管理您的站点。通常,只能通过网络部分或可直接访问 ArcGIS Server 计算机的特定计算机执行管理任务,如通过 6080 或 6443 端口。可通过指定仅允许特定的 IP 地址访问管理员目录中的服务来克服上述问题。这由服务器的安全配置中的 allowedAdminAccessIPs 属性进行控制。要了解如何配置该属性以限制到服务器的访问,请参阅更新安全性配置中的示例。
来自客户端应用程序的请求始终通过反向代理汇集,以防止使用任何管理端点。大多数第三方代理允许您过滤包含特定 URL 模式的收到的请求。阻止使用 ArcGIS Server 管理员目录 (http://gisserver.domain.com:6080/arcgis/admin) 或 ArcGIS Server Manager (http://gisserver.domain.com:6080/arcgis/manager) 中资源的收到的请求可通过反向代理有效阻止所有管理任务。
您的反向代理还可用作站点的负载均衡器。对于此配置,简单的负载均衡算法(如轮询)已足够。
如果您的网络负载均衡器支持健康检查功能,您可以使用 ArcGIS Server 的健康检查端点来确定站点是否可以接收请求。这有助于快速确定站点中是否存在软件或硬件故障。有关详细信息,请参阅 ArcGIS REST API 中的健康检查。
要了解如何将反向代理服务器集成到 ArcGIS Server,请参阅将反向代理服务器与 ArcGIS Server 结合使用。
优点
- 单个 ArcGIS Server 站点可提供在多个计算机之间轻松管理 ArcGIS Server 及其服务的方法。
- 通过添加或移除 ArcGIS Server 计算机来轻松调整站点的能力。
- 在多台 ArcGIS Server 计算机之间进行负载均衡。
缺点
- 使用共享网络位置的 ArcGIS Server 目录和数据可降低高负载下的服务性能。
- 需要了解第三方负载均衡器。
- 不支持 web 层身份验证。如果要使用 web 层身份验证,请参阅具有 ArcGIS Web Adaptor 的多机部署。