前一段时间在博客中公布了我们的计划,我们采用博客的形式将对ArcGIS10.1 for Server进行全面介绍。但这种形式有一定的遗憾:缺少互动的空间,所以我们希望广大爱好者能将自己感兴趣的话题在博客的后面提出来,我们一起讨论,一起研究,现在我们言归正传,正式开始我们ArcGIS 10.1 for Server博客系列的第一篇------ArcGIS 10.1 for Server 架构。

一、开篇之言

ArcGIS Server的概念,对于我们来说已经不太陌生,在这里用自己的话简单说下ArcGIS Server是什么?ArcGIS Server是一个用于构建集中管理、支持多用户的企业级GIS应用的平台,能将我们的地图,地理处理等资源作为服务发布出去,让用户可以通过浏览器,移动端等形对这些资源进行访问,同时使用ArcGIS Server为我们提供的GIS功能。

不管你是刚接触ArcGIS Server,还是已经熟知ArcGIS Server多年,Server架构都会是一个全新的东西,因为10.1版本中ArcGIS Server采用了全新架构。

一个新的东西,并且这个新的东西要引起人的兴趣,那么了解它的结构是很有必要的。对于系统管理者来说,知道了其本质,那么就能更好的去管理Server;而对于开发者来说,原则上我们只需要知道这个Server暴露的那些API就可以了,然而现实往往是,开发人员还要兼顾管理者的角色。因此不论管理人员还是开发人员,知晓Server内部结构都是一个一本万利的事情。再者说,往往本质的东西更能展示内在的美(小醉名言)

二、言归正传

架构可以从整体上向我们揭示ArcGIS 10.1 for Server的组成部分,千万言不如一幅图,的确是这个道理,下面就让我们用一幅图来开启本篇的内容。

注:ArcGIS 10.1 for Server是一个纯64位的应用程序,那么也就意味着不能在32为的计算机上安装,这一点需要我们注意。

在这幅图中,可以看到作为一个完整的GIS服务器站点架构,它包括服务管理员,服务发布者,有数据服务器,GIS服务器,有Web服务器以及使用ArcGIS Server服务的各种终端(桌面端,移动端,浏览器等)。但是ArcGIS Server站点只由四个部分构成:Web服务器,Web Adaptor(Web Adaptor这个组件我们有专门的博文介绍),GIS服务器和数据库服务器,如下图:

数据服务器我们是很容易理解的,存储了GIS服务所需要的数据,而关于Web服务器和Web Adaptor我们有专门的博文来介绍,在这里我们就不做过多的介绍。

GIS服务器

现在让我们我们将焦点放在阴影部分的矩形框中,这就是ArcGIS Server站点的核心-GIS服务器。这里将它称为nGIS Servers,即多节点GIS Servers。这种模型架构取代了10.0以前的基于SOM – SOCs结构。新型的nGIS Servers模型已经没有像10.0及9.x版本的SOM主控制节点,采用点对点(p2p)的方式,即每一个GIS Server节点都是平等的。这样新模型即使是某一个GIS Server节点意外的宕掉,也不会导致整个地图服务的停止运行;同样,当需要增加一个GIS Server节点时,以plug-in方式插入一个节点为服务提高负载能力。而这种松散的、热插拔的架构是构建云GIS应用的基础。在逻辑上,这n个GIS Servers节点组织为一个Site站点,也就是说要成为一个站点至少应该有一台GIS服务器。在这个N个GIS服务器中我们可以根据服务器的性能,或者根据我们应用的不同而进行分组,不同的组用于处理不同的服务,比如说性能比较好的机器用于处理GP服务,性能一般的用于处理地图服务,这种结构如下图:

值得注意的是ArcGIS 10.1 for Server site必须至少有一个集群,当我们第一次创建ArcGIS 10.1 for Server site的时候,一个默认的集群会自动建立。从这里我们已经隐约看出ArcGIS Server的站点架构带给我们的好处,我们不仅仅可以在一个站点中加入更多的GIS服务器来处理我们的需求,还可以根据需要将这些服务器细分成不同的组,这样我们可以最大利用服务器的性能。

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路径等信息。下图为安装完ArcGIS Server在启动Manager页面是看到的,这个时候还不能称之为一个站点,因为站点还没有创建,如下图:

配置信息存储文件(config –store)

ArcGIS Server 站点有一个特殊的文件夹-配置存储,该文件夹中包含的站点的重要信息。在创建ArcGIS Server 站点时,需要指定配置存储的位置,该目录包含整个ArcGIS Server的集群信息,用户信息,安全信息等,每一种类型的信息都有相应的文件夹,如下图所示:

服务器目录(directories)

一个服务器目录是计算机上的一个物理目录, ArcGIS Server站点将某些特定的信息写入和存储在该目录中,该目录包含有缓存文件夹,输出文件夹,系统文件夹,KML文件夹等。下图为创建的directories目录的示意图:

只有添加到Site站点的GIS Server,才能称为Siteful的GIS Server节点,要不就为孤立的节点,是不属于架构之内。    每个Runnable的GIS Server所需的一系列数据,它们都被保存到Site相关属性里。如:所属的集群信息、服务信息、服务所依赖的数据信息、目录信息以及日志信息等等。GIS Server也是基于这些信息才能提供具体服务的。     一个具体的应用GIS环境只有一个Site站点。

注:GIS服务器可以认为是构成ArcGIS Server站点中,安装了ArcGIS Server的机器。GIS服务器可以用来绘制地图、提供服务、同步数据库、投影几何对象、搜索数据、并执行许多由ArcGIS提供的操作。所以可以这么说:GIS服务器是ArcGIS Server 站点中的工作中心。在ArcGIS Server 10.1中 GIS服务器内嵌了一个Web服务器,但是我们可以提供一个自己的专有Web服务器,以便提供更高级的功能,如使用本地Web服务器的安全功能等。

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广播、心跳感应等等。

ArcGIS Server的服务是位于一个集群中,而这个集群至少包含一台GIS服务器,下图为创建站点的时候,默认的集群:

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是全缓存模式的,这样性能将得到提升。

服务虽然位于集群中,但是处理服务的请求的操作都是这个集群中的GIS 服务器,一个集群至少包含一个GIS 服务器,如下图:

4、GIS Instance实例为每个GIS功能的处理容器

GIS Instance为GIS Server的处理实例。默认情况下,一个GIS Server节点自动设置最大实例数为两个。对于ArcGIS Server for windows版本,如果这个节点运行饱和下就是产生两个进程,这些就是处理具体功能的实例进程。当然,对于某个负载较重的GIS Server节点,通过相关接口可以调整最大实例数,以满足处理量的需求。

原文连接:http://blog.csdn.net/arcgisserver_book/article/details/7774166

【转】ArcGIS 10.1 for Server 架构的更多相关文章

  1. 【ArcGIS 10.2新特性】ArcGIS 10.2 for Server常见问题

    1.ArcGIS 10.2有无测试版程序? 10.2没有正式的测试版程序,但是我们计划发布两个早期cuts软件给国际经销商.选中的用户和合作伙伴. 2.微软Azure云的ArcGIS forServe ...

  2. 【ArcGIS 10.2新特性】ArcGIS 10.2 for Server新特性

    ArcGIS forServer相关的很多重大消息,如与Portal for ArcGIS进行了集成,提供对实时数据支持.离线地图使用. 1.与Portal for ArcGIS集成 用户能够配置Po ...

  3. ArcGIS 10.1 for Server 扩展开发(SOE)

    原文连接:http://blog.csdn.net/arcgisserver_book/article/details/7869368 第一章为什么使用SOE 在ArcGIS 10.1中ArcGIS ...

  4. ArcGIS 10.3 for Server新特性介绍

    ArcGIS10.3的正式版立即在美国Esri全球用户大会推出.中国的正式发行时间预计在Esri中国的用户大会.以下就将用户比較关心的ArcGIS 10.3 for Server的新特性给大家进行简单 ...

  5. ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装

    http://www.oschina.net/question/565065_81231      因为Linux具有稳定,功能强大等特性,因此常常被用来做为企业内部的服务器,我们的很多用户也是将Ar ...

  6. ArcGIS 10.3 for Server 在windows下的安装教程

    原文:ArcGIS 10.3 for Server 在windows下的安装教程 以下是10.2的教程,10.3同样适用. 许可文件: ArcGIS For Server10.3许可文件 - 下载频道 ...

  7. ArcGIS 10.2 for Server 集群部署

    ArcGIS 10.2 for Server 具有很灵活的体系结构,而 ArcGIS 10.2  forServer site 可以包含一台或多台安装 GIS Server 的机器,这些参与ArcGI ...

  8. ArcGIS 10.3 for Server部署策略

    注:以下部署策略整理自官方文档,主要是为方便以后查阅各种部署方案. 1.单机部署与反向代理 1.1.反向代理 反向代理可采用ArcGIS Web Adaptor或者第三方的反向代理服务器. 1.2.部 ...

  9. ArcGIS 10.3 安装及破解

    系统环境:win7 64位操作系统. 一.ArcGIS 10.3包简介 ArcGIS 10.3 下载包含 1.  ArcGIS for Desktop ArcGIS for Desktop简介: Ar ...

随机推荐

  1. P1062 差K素数对

    题目描述 给你两个数 n 和 k ,请求出所有小于等于 n 的相差为 k 的素数对. 输入格式 两个正整数n,k.1<=k<=n<=10000. 输出格式 所有小于等于n的素数对.每 ...

  2. VUE框架思想

    学习VUE的第一步就是先了解这个框架的的核心思想 Vue.js的核心思想就是,它是一套__渐进式的自底层向上增量开发__的__MVVM__结构的框架 什么是框架? 简单的讲,框架就是将与业务无关的重复 ...

  3. vue-learning:0 - 目录

    Vue-learning vue.js学习路径 Vue的API地图 点击查看vue的API地图 视图层 点击可直接到达详情页面 指令 {{ }} / v-html v-if / v-else / v- ...

  4. 2018-9-14-win10-UWP-标题栏后退

    title author date CreateTime categories win10 UWP 标题栏后退 lindexi 2018-9-14 20:22:8 +0800 2018-2-13 17 ...

  5. linux PCI 寻址

    每个 PCI 外设有一个总线号, 一个设备号, 一个功能号标识. PCI 规范允许单个系统占 用多达 256 个总线, 但是因为 256 个总线对许多大系统是不够的, Linux 现在支持 PCI 域 ...

  6. UE4 中的 C++ 与 蓝图交互

    1.Unreal 引擎提供了两种创建新 Gameplay 元素的方法:C++ 和 蓝图视觉脚本. 通过 C++,程序员构建基础游戏系统:设计师可以基于此系统为场景 / 游戏创建自定义的游戏玩法. 这种 ...

  7. .NET Core + docker入门

    下载安装docker docker客户端,今天vpn小水管实在是受不了,于是找了国内的下载地址 配置docker加速器 参考博文Docker for windows10 配置阿里云镜像 docker入 ...

  8. hexo+github搭建博客(超级详细版,精细入微)

    # 前言 你了解[Hexo]( https://hexo.io/zh-cn/ "Hexo官网")吗? Hexo是一个静态博客框架,基于Node.js,将Markdown文章通过渲染 ...

  9. MongoDB not authorized for query - code 13 错误解决办法

    跟着教程走完到了鉴权阶段,不加 --auth 登陆正常,但会出现warning :没有鉴权,修改不会生效,此时登陆正常. 但是加上了--auth 启动之后加上密码登陆则无法登陆. 添加用户和鉴权: 先 ...

  10. resin部署安装

    Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身也是采用JAVA语法开发,功能近似于t ...