Amazon Web 服务上的 ArcGIS Server 架构
ArcGIS Server Cloud Builder on Amazon Web Services为 ArcGIS Server 站点的架构提供了各种选项。例如,可以选择将多个 GIS 服务器实例置于站点中以应对大量的处理负荷,可以选择将地理数据库放到其各自的实例中以将其与 GIS 服务器层相隔离。本主题讨论了使用云构建器构建您的站点时可用的架构选项。还阐述了在您使用 AWS 管理控制台手动构建站点时的架构指导原则和限制。
可用于云构建器的架构
ArcGIS Server Cloud Builder on Amazon Web Services允许您使用一台 GIS 服务器构建一个简单的站点,也允许您使用多台 GIS 服务器构建一个复杂的站点。还允许您包含一个企业级地理数据库并确定它的放置位置。
不包含企业级地理数据库的 ArcGIS Server
您可以使用云构建器创建一个运行在 Windows 或 Linux 上但不包含企业级地理数据库的 ArcGIS Server 站点。此类站点可以包含一个或多个 GIS 服务器。所有参与的 GIS 服务器必须使用相同的操作系统。在任何情况下,一个或多个 GIS 服务器都将放置于一个弹性负载均衡器 (ELB) 之下。
相同 EC2 实例上含有企业级地理数据库的 ArcGIS Server
或者,您可以选择创建一个含有企业级地理数据库并且此地理数据库与 ArcGIS Server 运行在同一个 EC2 实例上的站点。如果站点中包含多个 GIS 服务器,则企业级地理数据库仅运行在其中的一个服务器上。
如果您的 ArcGIS Server 站点构建在 Linux 上,则企业级地理数据库在 PostgreSQL 上运行。如果构建在 Windows 上,则企业级地理数据库可以在 Microsoft SQL Server Express 或 SQL Server Standard 上运行。
在 ArcGIS Server 所在的同一个 EC2 实例上运行企业级地理数据库可以帮助您节省硬件成本(Amazon 的实例按小时支付费用)。此架构还能降低服务器与数据库之间的延迟。但是,当您在同一个 EC2 实例上运行服务器和数据库时,您实际上是在共享硬件资源,如果组件过载或离线,则站点中断的风险会大大增加。
自有 EC2 实例上含有企业地理数据库的 ArcGIS Server
可以选择创建一个含有企业级地理数据库并且在自有 EC2 实例上运行的站点,从而实现与 ArcGIS Server EC2 实例的分离。如果您的 ArcGIS Server 站点构建在 Linux 上,则企业级地理数据库将在 PostgreSQL 上运行。如果构建在 Windows 上,则企业级地理数据库将在 SQL Server Standard 上运行。
在与 ArcGIS Server 实例分离的实例上运行企业级地理数据库会导致实例使用费用的增加。但是,如果将 GIS 服务器层与数据库层进行分离,您便可以更随意地调整或修复其中的任意一个层,而不会影响其他层。
手动构建站点时可用的架构
使用 AWS 管理控制台手动构建站点时,您可以启动一个或多个运行 ArcGIS Server 的 EC2 实例。如果启动了多个实例,还必须启动一个 ELB 并将这些实例加入其中。添加于 ELB 之下的所有 ArcGIS Server 实例都必须相同。
ELB 下面的每个 ArcGIS Server 实例都独立于该 ELB 下的其他实例运行。换言之,每个实例都有自己的配置存储、服务器目录、日志等等。这就限制了您可以对服务器进行的处理的类型,如异步地理处理或分布式地图缓存作业。如果需要一个可以执行这些类型的处理的真正的分布式架构,请使用云构建器创建您的站点。
启动站点的实例时,可以从三种 Amazon 机器映像 (AMI) 中进行选择,也可以使用从这三种 AMI 之一所派生的自定义 AMI。有关 AMI 的说明,请参阅 ArcGIS Server AMI。所有 AMI 均包含 ArcGIS Server 和企业级地理数据库。如果要在与 ArcGIS Server 实例分离的单独实例上运行企业级地理数据库,建议您使用云构建器创建您的站点。
我是否需要安装 ArcGIS Web Adaptor?
ArcGIS Server Cloud Builder on Amazon Web Services不需要安装或配置 ArcGIS Web Adaptor,因为弹性负载均衡器 (ELB) 所起的作用有很多与之相同,用于在站点中的所有 GIS 服务器间分配收到的请求。但在您创建站点之后,您可以选择登录实例并从 Esri 客户关怀中心网站下载 Web Adaptor 安装程序。如果要在 Windows 实例上托管 ArcGIS API for JavaScript 应用程序,则必须进行此操作。有关详细信息,请参阅在 Windows 站点上部署 Web 应用程序。