ArcGIS Server 10.1基于Site - GIS Servers的云架构
在ArcGIS for Server 10.1中采用了新的模型结构:Site - GIS Servers。这里将它称为nGIS Servers,即多节点GIS Servers。新的模型架构
取代了10.0以前的基于SOM – SOCs结构。
ArcGIS for Server 10.1 架构模型如下图所示:
新型的nGIS Servers模型已经没有像10.0及9.x版本的SOM主控制节点,采用点对点(p2p)的方式,即每一个GIS Server节点都是平等的。这样新模型即使是某一个GIS Server节点意外的宕掉,也不会导致整个地图服务的停止运行;同样,当需要增加一个GIS Server节点时,以plug-in方式插入一个节点为服务提高负载能力。而这种松散的、热插拔的架构是构建 云GIS应用的基础。
在逻辑上,这n个GIS Servers节点组织为一个Site站点。
ArcGIS for Server 10.1新架构模型的逻辑关系简单概括为:以Site为架构单位;Cluster为GIS 服务的逻辑单位;GIS Server为实际处理单位;GIS Instance实例为每个GIS功能的处理容器。
1、Site为架构单位
ArcGIS for Server 10.1 在安装完成以后,需要确定创建一个新的Site站点,还是添加到已经存在的Site站点。如果是创建一个新的ArcGIS Server环境,就需要选择New Site操作,在创建新的站点过程中配置了Directories和Configuration Store路径、以及Site用户信息。只有添加到Site站点的GIS Server,才能称为Siteful的GIS Server节点,要不就为孤立的节点,是不属于架构之内。
每个Runnable的GIS Server所需的一系列数据,它们都被保存到Site相关属性里。如:所属的集群信息、服务信息、服务所依赖的数据信息、目录信息以及日志信息等等。GIS Server也是基于这些信息才能提供具体服务的。
一个具体的应用GIS环境只有一个Site站点。
2、Cluster为GIS 服务的逻辑单位
安装完GIS Server节点,创建一个新的Site站点后,ArcGIS Server默认会产生一个名为“default”的默认集群。以后创建的Runnable GIS Server节点都可以添加到这个集群内,当然某个Site站点可以创建多个集群。
对于某个特定的Cluster,它是某个具体服务的逻辑容器,承载的具体服务如:Map Service、GP Service等等。举个例子:现在需要发布某区域的基础地形的地图服务,就需要选择是有哪个Cluster承载这个地图服务。到此为止,用户发布地图服务的过程就完成了。当然,具体的服务能力是有下面的GIS Server提供。
但并不是一个Cluster不是只承载某一个服务、或者某一类服务,每一个Cluster可以为不同类型,多个服务提供容器。
ArcGIS Server为 Cluster内的GIS Server通信提供了完善的协同保障,如:TCP轮询、UDP广播、心跳感应等等。
3、GIS Server为实际处理单位
每一个安装ArcGIS Server的机器为一个GIS Server节点,这里的机器可以是物理机,也可以是虚拟机,当然这样的每个机器内只能有一个GIS Server节点。
上述的GIS Server节点,其实也是Siteless的节点。要想转成为Runnable的GIS Server节点,首先需要添加到Site站点内,转为Siteful的GIS Server节点,然后添加到Cluster内,就成为Runnable 的GIS Server节点。
在每一个Cluster逻辑内可以存在多个GIS Server节点,这些GIS Server节点负载均衡上层的逻辑功能。ArcGIS Server提供了多种负载均衡的算法,对于不同的请求情况,如:密集I/O型、长事务型、高CPU型等,会自动配置到不同的负载算法。
在新模式下,GIS Server是全缓存模式的,这样性能将得到提升。
4、GIS Instance实例为每个GIS功能的处理容器
GIS Instance为GIS Server的处理实例。默认情况下,一个GIS Server节点自动设置最大实例数为两个。对于ArcGIS Server for windows版本,如果这个节点运行饱和下就是产生两个java.exe进程,这些就是处理具体功能的实例进程。
当然,对于某个负载较重的GIS Server节点,通过相关接口可以调整最大实例数,以满足处理量的需求。
说明
本文属原创文章,欢迎转载且注明文章出处。
作 者:UpdooGIS
文章出处:http://UpdooGIS.cnblogs.com/