iserver集群实践——受控集群

 在实际工作当中,我们不管是分布式切图任务还是GIS服务集群支持,如果我们采用普通集群方式,我们需要往参与集群的所有子节点依次进行服务发布,如果集群节点有2个、4个还可以接受,但是如果是在云环境下,我们可能直接虚拟化出十几个甚至几十个集群子节点,那么如果还是用普通集群方式,对用户来说简直是一个厄运。


其实在很多情况下,用户只是希望原来有一台机器干活,现在我希望能够有4台或者更多机器干活,至于这4台机器里面包含什么,我不需要管,我也不想管(我无需打开每一个iserver集群的manager来查看信息),那么SuperMap的受控集群完全可以满足用户的需求,这也是专门适合于云环境的集群方式。


SuperMap iServer 支持子节点以受控的方式加入集群。这种集群配置方式简单快速,适合于子节点空闲的情况,子节点本身不需要对外提供服务而可以接受父节点的控制。子节点一旦开启了受控集群,就要受到父节点的完全控制,其自身原有的服务实例和服务管理器都将被禁用,父节点的服务实例和数据将同步到子节点。其中,服务组件集合对应的服务实例、空间处理服务将被过滤不同步到子节点。

子节点作为受控模式的集群成员,仅用于处理父节点转发的请求。

如上图所示,在一个集群体系中,可以同时存在受控的子节点(标识2)和非受控子节点(标识3)。子节点以受控方式加入集群的配置方法为:

  • 打开子节点(标识2)的系统配置文件(【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF\iserver-system.xml),启用并修改受控集群配置项,然后重启子节点服务即可,详见利用配置文件管理集群。
  • 如果父节点(标识1)开启了安全控制,非本机的子节点加入时,需要在父节点的配置集群页面的子节点列表中点击“允许”,如果父节点未开启安全控制,则不需要进行任何操作。

子节点开启受控集群后,父节点会自动将服务和相应的数据同步到子节点上,这样子节点就具有与父节点相同的服务,父节点就能把客户端请求转发给子节点处理。


受控集群的配置

SuperMap iServer 支持子节点以受控的方式加入集群。在子节点的系统配置文件(iserver-system.xml)中,可以通过节点来配置受控集群。

节点名称

说明

该节点是配置 iServer 以受控方式启动的主节点。通过其子节点的配置可以设置是否以受控方式启动,受哪一个集群父节点的控制等。
受控启动时受哪个集群服务器(父节点)的控制。
是否以受控方式启动服务。
父节点开启了安全控制后设置的安全 Token。
是否参与分布式切图。为true时,受控集群的节点可以参与分布式切图。

例如:

      

http://clusterservice:8090/iserver/services/cluster
 

      true   

      -71 90 -24 -17 -115 80 -56 -17

      true


================================================================

以作者测试的云环境为例

主控集群节点:192.168.12.83

受控集群子节点:192.168.12.79-99

那么只需编辑受控集群子节点的配置文件

      

http://192.168.12.83:8090/iserver/services/cluster
 

      true   

      

      true


那么对于云环境,只需要创建两个镜像模板,一个主控模板和一个受控模板即可。


打开主控集群节点的manager,稍等一段时间,所有的受控节点会自动查找主控节点IP地址

iserver集群实践——受控集群_第1张图片


发布一个地图服务,如果发布的服务的数据源为文件数据库(UDB),那么,所有的数据都会同步到受控节点服务器中。因为用户无法打开受控节点的manager,但是可以查看任意受控节点的实例数。

iserver集群实践——受控集群_第2张图片



有了这种方式,iServer会自动进行管理,用户只需要关注主控节点的相关信息即可,所以该方式也是云环境下最适合的集群架构方式。



你可能感兴趣的:(SuperMap,iServer)