地理信息云服务

118 阅读2分钟

有大佬雄心勃勃,准备打造一个地理信息平台,作为基础服务,支撑各种应用。其中一项指标,是要能经得起一定量的并发访问。

这是自然,基础服务嘛。高并发的套路,如前所学,无非就是异步机制、负载均衡、缓存、分布式数据库之类。

地图服务没有什么来自于用户的数据写入,主要是读取,异步机制估计用不上;但消息队列还是要的,可以起到削峰的作用。

地图服务是无状态的,伸缩性相对比较好处理,但也有可能在多集群甚至单集群中,不同机器提供的服务,存储的数据不一样,所以负载均衡算法要依据情况而定。

缓存对于地图来说,就是切片。切片文件应该存储在固态硬盘,或者加载到内存中才够快。

地图中的动态图层,数据源自数据库,如果需要比较高的性能,最好采用分布式数据库。NoSql天然支持分布式,也适合空间数据的存储,但NoSql不支持SQL,通常按键值查找,组合查询支持很弱;另外对空间索引支持也不好;而传统关系型数据库对空间数据库支持良好,结合紧密,但无法应对海量存储和高并发访问,因此可以将关系型数据库与NoSql结合作为空间数据库的存储方案。其中关系型数据库可以存储简略的空间信息,而NoSql可以存储详尽和归档数据,作为后备和补充。

总体结构(图来自互联网,有相似性,借用一下)
在这里插入图片描述
arcgis方案。地图服务不一定就要用arcgis。
在这里插入图片描述
在这里插入图片描述
有一幅图我看了觉得很牛,虽然跟本文论述没啥关系,也码下来,作为学习之用。
在这里插入图片描述

ArcGIS云

具有 GIS 服务器集群的多机部署

基于NoSQL数据库的空间大数据分布式存储策略