企业级GIS系统架构介绍——GIS服务器篇

来源:互联网 发布:社交媒体大数据分析 编辑:程序博客网 时间:2024/05/08 20:20

如果大家关注了Esri的用户大会,以及对Esri相关产品的使用以及演变,可以深刻的体会到,Esri紧跟着全球的计算机技术的发展,其中一个特点就是Web化,这就给传统的C/S架构一个非常巨大的威胁,因为不管是现在大家疯狂的使用移动设备,这种打开浏览器来查询信息,办公OA、业务处理是非常方便的,不需要安装额外的东西,只要有网络的存在,随时随地可以完成自己想要完成的事情,Web GIS也是Esri2013年根据现在的计算机技术的发展与GIS技术相结合的一个新的概念。今天我们并不是要讨论Esri提出的Web GIS与传统的WebGIS的区别,提出这个话题就是要引出Esri一个里程碑的产品,ArcGIS Server。


相信大家对ArcGIS Server并不陌生了,自从把原来ArcIMS PK掉之后,ArcGIS Server让GIS在Web端如鱼得水,横冲直撞,今天我们谈论的话题是在企业级GIS系统中,GIS服务器怎么组织是符合我们实际工作要求的。


大家都知道ArcGIS Server10.1之前,相关的架构是SOM和SOC,SOM负责管理SOC,真正工作的是SOC,那么在现实的部署过程中就出现了很多用户希望进行负载均衡、容错要求下的高效的ArcGIS Server部署方案。


上面就是一个利用多台SOC共同处理的一个群集环境,使用一个SOM对多个SOC进行管理,多台机器共同来处理来自客户端的请求,发挥多台机器的处理能力,这在我们工作中也发挥了很大的作用。但是问题处理了,如果我的SOM机器出现问题,那么整个环境就无法正常工作,那么又演变为如下的架构:


我使用两个(或者多个)SOM进行一个容错的机制,这样我们就可以说添加了一个保险,使我们的系统更加稳定。但是如果我们的SOC机器不够用,我们添加新的SOC,或者对该架构进行管理,则比较繁杂,于是我们又有了新的架构:


上面的架构是每一台机器都是独立的,利用外界的NLB来对各个机器进行负载均衡,而且如果添加新机器,并需要复杂的配置,而且某个机器出现问题,也不会影响整个环境的工作,在实际测试过程中,该架构较上一个容错架构的性能要高。

所以,如果大家使用了ArcGIS Server10.1之前的版本,建议使用上面的一个架构的选择。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~

那么随着ArcGIS 的不断发展,ArcGIS Server作为核心的Web GIS的驱动者在ArcGIS10.1有了非常本质化的变化,Esri对该产品进行了重新的实质性的设计。



如上图所示,左边是ArcGIS Server10版本的架构体系,右边是ArcGISServer10.1的架构体系,我们可以对核心GIS Server部分的对比,由原来的SOM和SOC到GIS 服务器的概念,相对于原来的架构,新版本的ArcGIS Server不仅性能更加卓越,在负载均衡、容错能力、群集管理、细化处理等方面更加的强大。因为采用了点对点的形式,GIS Server相互之间在一个Site下是相互平等了,那么我们在添加和删除新的GIS Server变的更加容易,而且正因为彼此平等,任一台机器出现宕机对整个Site并不影响,而且整个SITe是一个负载均衡的处理模式,而且任一机器可以组成cluster,来分别处理不同的服务。


如上所示,多台机器组成cluster B 来处理耗费资源的GP服务,这样可以对GIS Server进行伸缩性管理,以达到资源的最大化利用。


另外,ArcGIS Server10.1又增加了一个新的组件 WebAdaptor(可选择组件)。Web Adaptor 具有以下优势:

  • 允许将 ArcGIS for Server 与组织内现有的 Web 服务器相集成。通过向站点中增加 web 服务器,就可以获得承载Web应用程序的能力,这些 Web 应用程序可使用自己发布的 GIS 服务。
  • 允许您提供单一端点,用于将收到的请求分布到站点中各个 GIS 服务器上。
  • 使您能够通过您所在组织的标准网站和端口显示您的 GIS 服务器。如果您不希望用户看到默认端口 6080 或默认站点名 arcgis,请使用 Web Adaptor。
  • 使您能够禁止外部用户查看 ArcGIS Server 管理员目录和 ArcGIS Server 管理器。
  • 使您能够禁止 ArcGIS for Desktop 用户建立与 ArcGIS Server 的管理连接或发布者连接。
  • 使您能够使用组织 Web 层级别的标识存储和安全策略。例如,如果使用 IIS,则可以使用集成的 Windows 身份验证限制进入门户的用户。如果是具有内置或扩展支持的 Web 服务器,您也可以使用公钥基础设施 (PKI)。这允许您在进行登录以使用服务、Web 应用程序和 ArcGIS Server 时可以提供单点登录或其他自定义身份验证体验。

我个人觉得Web Adaptor兼具DNS和反向代理的特点(也可以使用上面两个代替adaptor),而且Web  Adaptor可以将来自Web服务器发出的请求对注册到Web Adaptor的GIS Server进行一次负载均衡。

--------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Blog:               http://blog.csdn.net/linghe301
Weibo:            http://www.weibo.com/linghe301
--------------------------------------------------------------------------------------------



更多了解:

ArcGIS for Server 10.1中Web Adaptor的工作原理

ArcGIS Server 站点架构-Web Adaptor

关于跨域文件:

跨域策略文件允许对应用程序域外的 Web 服务进行访问。默认情况下,系统不允许 Adobe Flash 和 Microsoft Silverlight Web 应用程序访问位于托管应用程序的域外的 Web 服务。启用跨域策略文件功能后,IIS Web 服务器根目录文件夹下会安装两个跨域策略文件:针对 Adobe Flash 应用程序的 crossdomain.xml 以及针对 Microsoft Silverlight 应用程序的 clientaccesspolicy.xml。这些文件使 Adobe Flash 和 Microsoft Silverlight 应用程序能够访问 ArcGIS for Server 所托管的要素服务。

您可以通过创建或修改跨域策略文件以限制对特定 Web 服务器资源(如文件夹、文件、请求类型和协议等)的访问。要了解如何进行操作,请参阅以下内容:

  • 要创建或修改 crossdomain.xml 文件,请参阅 Adobe 跨域策略文件规范。
  • 要创建或修改 clientaccesspolicy.xml 文件,请参阅使服务跨域边界可用以及 Microsoft Silverlight 中的网络安全访问限制。





如上所示,就是一个比较标准的GIS服务器的架构,前端,我们使用两台Web Adaptor形成容错机制,然后每台Web Adaptor机器可以将分流过来的Web请求进行负载均衡分配给相关的GIS Server进行处理,而且每一个GIS服务可能设置请求处理的cluster,然后相关的数据存储在高效的ArcSDE数据库中(上次已经介绍过了),因为配置存储和服务器目录是所有GIS Server共享的资源,用户需要将相关信息存储在一个共享存储上,当然有条件的话,也可以对这个共享存储做容错和灾备(这个可能是非ArcGIS技术了)。


关于ArcGIS Server10.1的集群安装可以参考:

ArcGIS 10.1 for Server 集群(RHEL)安装配置



从上图可以看到,在ArcGIS Server10.1架构中,添加新机器是非常容易的事情,而且添加的机器可以很简单的分配给指定的cluster


从上面介绍来说,是一个从Web端到GIS服务器端都有容错和负载均衡,但是可能还有些东西是企业级GIS系统所要考虑的:

容错的两个Web服务器怎么负载均衡,怎么把浏览器的地址修改为我们熟悉的www.test.com,怎么来对整个系统的安全性进行管理等等,请关注下一个话题

企业级GIS系统架构介绍——安全与其他篇


---------------------------------------------------------------------------------------------

企业级GIS系统架构介绍——总览
http://blog.csdn.net/linghe301/article/details/12994611


企业级GIS系统架构介绍——数据库篇
http://blog.csdn.net/linghe301/article/details/12997803


企业级GIS系统架构介绍——GIS服务器篇
http://blog.csdn.net/linghe301/article/details/13001035


企业级GIS系统架构介绍——安全篇
http://blog.csdn.net/linghe301/article/details/13291855