ArcGIS Server 是 ArcGIS Enterprise 的工作中心,可使用您所管理的基础架构将贵组织的地理信息、分析和产品带到 Web 中。
可将地图文档、地理处理工具和地址定位器等桌面产品发布到 ArcGIS Server 并使其成为 GIS 服务,以便在组织的防火墙内使用,或在更大的 Internet 中使用。 可在诸如地图查看器和移动应用程序等 Web 客户端中使用这些服务,以便轻松地在各个客户端(甚至没有专用 GIS 软件的客户端)上共享资源。
本主题将从管理员的角度来解释 ArcGIS Server 的结构与功能。
联合和独立站点
您可以将 ArcGIS Server 部署为一个独立的系统,以便向用户提供 GIS 服务,或将其与 ArcGIS Enterprise 平台集成,作为基础设施中的综合性 Web GIS 部署。
可将一个或多个 ArcGIS Server 站点与 ArcGIS Enterprise 门户联合,以此完成上述集成。 在此部署中,用户可借助 ArcGIS Server 服务构建功能强大且极具吸引力的产品,并使用 ArcGIS Enterprise 门户和本地应用程序进行传播。
例如,GIS 专业人员可能会在 ArcGIS Pro 中创建多图层地图并将其作为 web 地图(由 ArcGIS Server 地图服务提供支持)共享至 ArcGIS Enterprise 门户。 然后,在该门户中根据多个图层创建 web 应用程序,并将其作为公共资源嵌入您的网站。 还有一种情况,GIS 部门可以为其外业工作人员配备 Esri 移动应用程序,例如 ArcGIS Collector,并让他们在公共 web 地图上添加和更新要素,该地图由 ArcGIS Server 要素服务提供支持。
安全和访问
在作为独立系统进行部署时,ArcGIS Server 将控制其共享和安全模型。 管理员可以在 ArcGIS Server Manager(与 ArcGIS Server 一起安装的基于浏览器的应用程序)中修改诸如访问控制、发布权限和 web 流量协议等设置,也可以通过 ArcGIS Server Administrator Directory 以编程方式修改设置。 或者,可使用内置的 ArcGIS Server 身份存储或组织的外部身份提供者对独立站点的用户进行授权和验证。
如果 ArcGIS Server 与 ArcGIS Enterprise 门户联合,则尽管部分安全设置仍可通过 ArcGIS Server 层进行配置,但系统仍将采用门户的共享和安全模型。
有关联合的详细信息以及 ArcGIS Server 联合站点的运行方式,请参阅将服务器与 ArcGIS Enterprise 集成。
ArcGIS Server 的组件
ArcGIS Server 站点由多个组件构成,这些组件可以分别部署到多台计算机上以提高计算能力。 在对分配给一组服务的资源进行管理的过程中,站点中的各个组件都有着明确的分工。
ArcGIS Server 站点的组件可以归纳如下:
- Web 服务器 - 用于托管 web 应用程序并向 ArcGIS Server 提供可选的安全和负载平衡好处。
- ArcGIS Web Adaptor - 将 ArcGIS Server 与企业级 Web 服务器相集成,从而将收到的请求发送给多台 ArcGIS Server 计算机。
- ArcGIS Server - 用于响应发布到 GIS Web 服务的请求。 ArcGIS Server 可绘制地图、运行工具、提供影像、同步数据库、投影几何、搜索数据以及执行 ArcGIS 所提供的其他众多操作。
Web 服务器
Web 服务器 - 用于托管 web 应用程序并向 ArcGIS Server 站点提供可选的安全和负载平衡好处。 ArcGIS Server 与许多热门 Web 服务器兼容,包括 Internet 信息服务 (IIS)、WebSphere 和 WebLogic。
ArcGIS Web Adaptor
ArcGIS Web Adaptor 是一个 web 应用程序,可将请求从 web 服务器转发到 ArcGIS Server 计算机。 ArcGIS Web Adaptor 可追踪站点中已添加(和已移除)计算机的状况并将事务转发到相应的计算机。 ArcGIS Web Adaptor 允许为站点自行设置名称,而不必使用默认站点名称 arcgis。ArcGIS Web Adaptor 还允许您充分利用 web 服务器的内置功能实现安全设置,并且可以阻止所有至 ArcGIS Server Manager 和 ArcGIS Server Administrator Directory 的外部连接。
收到 Web 服务请求后,ArcGIS Web Adaptor 将请求转发到其中一台 ArcGIS Server 计算机上。 如果 ArcGIS Web Adaptor 确定某个 ArcGIS Server 计算机不可用,则将停止向该服务器转发请求。
其他 web 网关选项
ArcGIS Web Adaptor 并不是用于配置站点的 Web 网关(或入口点)的唯一方式。 其他 Web 网关技术包括物理 HTTP 负载均衡器和网络路由设备,或包括专用于负载均衡的第三方软件。 例如,在 Amazon Web Services (AWS) 云端环境中,Amazon 弹性负载均衡器 (ELB) 可以作为 web 网关。 如果您所在的组织已具备可用作 web 网关的技术,则多数情况下,经过相应调整后就可将其配合 ArcGIS Server 使用。
这是一种安全性最佳做法,您的用户始终使用 Web 网关访问您的 ArcGIS Server 站点,而不考虑该网关是 ArcGIS Web Adaptor 还是第三方负载均衡器。 用户切勿直接使用端口 6443 或 6080 连接到 ArcGIS Server。
ArcGIS Server
针对地图、地址坐标、地理处理作业等所收到的每个 Web 服务请求都将被分配到此站点中的可用 ArcGIS Server 计算机。 接下来,此 ArcGIS Server 将绘制地图、查找地址坐标、运行地理处理工具等等,并将结果返回到客户端。 实际上,ArcGIS Server 计算机是站点的工作中心。
您可能会需要在 ArcGIS Server 站点中配置多个 ArcGIS Server 计算机,以防止某个计算机不可用时出现停机。 当某个计算机转为离线时(无论是否经过计划),Web Adaptor 仍可以继续将收到的请求分发到站点中的其他 ArcGIS Server 计算机上。
以上 ArcGIS Server 站点组件可以位于同一台物理计算机上,以用于开发、测试或支持小型部署。 要了解有关小型和大型站点中建议使用的架构,请参阅部署方案。
配置存储
ArcGIS Server 站点包含一个指定为配置存储的文件夹,其中包含站点及其服务的所有属性。 创建站点时需要指定配置存储的位置。 在一个多机站点中,ArcGIS Server 计算机通过一个共享网络目录对配置存储进行访问。 在包含多个 ArcGIS Server 计算机的站点中,建议将配置存储保留在其自己的容错文件服务器中(独立于 ArcGIS Server 计算机)。
服务器目录
服务器目录表示网络上的物理目录,专供 ArcGIS Server 站点存储和写入特定类型的信息。 服务器目录分为多种,分别用于存储缓存、输出结果、作业、系统文件、上传的数据、输入数据、KML 和索引。 这些服务器目录通常创建于在创建站点时所指定的位置。 在一个包含多台计算机的站点中,该目录必须是一个共享网络目录。
有关每个服务器目录的详细描述,请参阅服务器目录。
服务器角色
ArcGIS Server 可被授予多个服务器角色的许可。 这些角色将解锁独有的服务器架构和要素,以启用专门的分析和处理任务。 例如,ArcGIS GeoAnalytics Server 可在多台服务器计算机之间分布任务处理,以加速对海量数据集的分析。 服务器角色无需安装额外的软件。 您可在授权 ArcGIS Server 时的许可文件中进行指定。
通过 ArcGIS Server 启动的进程
您可以在任何处于启动状态并参与到站点中的 ArcGIS Server 计算机上看到下列操作系统进程。
- 一个 ArcGISServer.exe 进程
- 每个运行中的服务实例均对应一个 ArcSOC.exe 进程。 例外:地理处理服务每个运行中的实例都对应两个 ArcSOC.exe 进程。 请注意,部分进程适用于内部系统服务而非用户已发布的服务。
- 一个 rmid.exe 进程
- 一个 javaw.exe 进程。 此进程提供了基本的应用程序服务器功能和 Web 服务托管能力。
- 一个 conhost.exe 进程和一个 cmd.exe 进程。 这些是由 Windows 启动以向 ArcGIS Server 进程提供控制台服务的补充进程。
通过查看 Windows 任务管理器中的命令行列,可以判断 javaw.exe 进程是否与 ArcGIS Server 相关联。 如果路径中包括 ArcGIS 安装目录,可断定它是与 ArcGIS Server 关联的进程。 通过检查其完整命令,可以获取各进程的详细信息。
Windows 服务 ArcGIS Server 代表 ArcGIS Server 自身。 停止该服务可完全停止计算机上的 ArcGIS Server,并关闭所有正在运行的服务实例。
ArcGIS Server 站点
ArcGIS Server 站点是配置为在平等条件下协同工作的各台计算机的集合。 首次创建站点时,站点由一台计算机组成;可使用加入站点或注册计算机操作将其他计算机添加到站点。
站点的每台计算机都将运行发布到站点的所有服务,且如果通过站点的 Web Adaptor 或负载均衡器向任何服务分配了请求,则每台计算机都可以处理该请求。 单个请求将完全由其所分配的计算机进行处理;如果该计算机无法完成请求,则该计划将失败,而并不会将未完成的请求传递给站点中的另一台计算机。
对于“每个请求对应一台计算机”模式而言,使用 ArcGIS GeoAnalytics Server 和 ArcGIS Image Server 角色将是一种例外情况,这些角色将跨多台计算机分配服务处理请求,以此处理大型分析任务。
服务实例
要处理服务请求,所分配的 ArcGIS Server 计算机将使用 Esri 服务器进程 ArcSOC.exe 的实例。 此进程将在计算机上运行请求。 如果您打开了 ArcGIS Server 站点中某台计算机上的任务管理器,则您可以查看当前计算机上运行的 ArcSOC.exe 实例。
注:
地理处理服务将为每个正在运行的实例使用两个 ArcSOC.exe 进程。 所有其他服务类型均使用一个进程。
ArcSOC 服务实例将按池进行组织,可调整池的大小以适应流量。 服务可以有自己的实例专用池,仅用于处理该服务的请求。 现在,从 10.7 开始,ArcGIS Server 站点设置了实例共享池,可向其中添加多个服务。 实例池的大小由最小实例数和最大实例两项设置进行控制,管理员可在 ArcGIS Server Manager 中进行上述设置。 在给定时间内运行的实际实例数将限制在此设置范围内,但该实例数将根据当前流量情况而发生变化。
共享实例池提供了一种解决方案,可通过减少站点计算机上运行的未使用 ArcSOC 实例数,节省 ArcGIS Server 的计算机内存使用量。 该实例池适用于不接收频繁请求或大量同时请求的服务。
在引入共享实例池之前,可将专用池中的最小实例数设置为零,以减少不必要的运行实例。 完成此操作后,最近未收到请求的服务将不会在服务器站点的计算机上运行任何 ArcSOC 实例,从而节省了内存使用量。 但是,这会导致冷启动问题,也就是说,在启动新的 ArcSOC 实例时,下一个服务请求的响应时间会延迟。 使用共享实例池可消除冷启动问题,原因是总会有可供其服务使用的 ArcSOC 实例。
有关详细信息,请参阅共享实例。
先前的集群架构
旧版本:
以下两部分将描述已弃用的功能。
ArcGIS Server 10.1 随服务器站点一同引入了服务器集群。 集群是单个站点的子元素,其中每个集群均有专门的用途 - 例如托管特定服务类型的服务,或处理特定大小的请求。 组织可以将一个集群用于处理图像服务,将另一个集群用于地理处理服务等;所有集群都集中在一个 ArcGIS Server 站点中,可通过单个 Web Adaptor 进行访问。
由于多集群站点存在性能问题,在使用 10.4 及更高版本的 ArcGIS Server 时,建议使用单集群模式。 10.7 版本中移除了为站点配置多个集群的功能。
对于未设多个集群的 ArcGIS Server 站点,站点中的任何计算机均可处理任何请求。 ArcGIS Server 计算机之间没有负载均衡;相反,负载均衡将由 ArcGIS Server 站点配置的 Web Adapter 或第三方负载均衡器进行处理。 服务由经过优化的内部应用程序服务器进行管理,该服务器在 10.6 版本中引入,用以提高发布和管理操作的性能。
集群架构的替代方案
作为 ArcGIS Server 10.9.1 的管理员,您仍然可以选择按类型或大小隔离服务,就像先前的集群那样。
举个例子,您可以设置多个 ArcGIS Server 站点。 如果您所拥有的大量服务全部或大多数经常接收请求,则此选项将特别有效,原因是这会增加站点中每台计算机需要运行的 ArcSOC 实例的数量。
还有一种情况,您的服务所接收的流量级别相差悬殊;例如,一个服务将不断同时处理多个请求,而其他服务不经常接收请求。 在这种情况下,可使用 10.7 版本中引入的共享实例池来节省那些不频繁请求的内存使用量,并为每个高流量服务提供与共享池隔离的专用实例池。 通过共享实例池,您可以在站点上运行大量低流量服务,而不会影响站点性能或增加运营成本。
有关将多集群 ArcGIS Server 站点升级到 10.9.1 的完整步骤,请参阅升级多集群站点。