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