更轻量、可扩展的云原生GIS前来报到
本文刊登于2020年11月第70期《超图通讯》
在使用GIS软件时,您是否遇到过这样一些困扰:“我”只需要使用软件中的某个功能模块,却被迫安装整个软件,占用大量软、硬件资源。云原生架构的GIS体系更稳定、更智能、更弹性,怎样才能将 “我” 自己的服务也集成到云原生的GIS体系中?云原生GIS体系那么“香”,却不能在ARM架构上部署……
针对以上问题,在SuperMap GIS 10i(2020)版本(以下简称“10i(2020) 版本 ”)中,超图对云原生GIS的产品功能做了细粒度拆分,实现了单一功能模块的独立部署,有效降低运行内存占用、提升启动速度;增强了微服务的可扩展性,可轻松地将自定义的领域空间信息服务集成到云原生GIS系统中,此外还有一系列其他升级。云原生GIS具体练成了哪些新“武功”呢?本文将作详细介绍。
更轻量级拆分
10i(2020)版本,我们对GIS微服务包进行了细粒度拆分。原来的单个GIS微服务包包含地图、分析、三维等全功能GIS服务。新发布的10i(2020) 版本中,通过SuperMap C++内核的拆分,按照GIS服务类型将GIS微服务包拆分为地图微服务包、数据微服务包、分析微服务包、三维微服务包、数据流微服务包,以及专供发布瓦片类数据源的瓦片微服务包。拆分后实现了以下几方面提升:
1、拆分后体量更轻。从部署包体量来看,拆分前GIS微服务部署包为 1229MB,拆分后地图微服务部署包为621MB,瓦片微服务部署包为340MB,部署包体量最多减轻 72%。从镜像包体量来看,拆分前GIS微服务镜像包为2662MB,拆分后镜像包平均大小为1627MB,最小的瓦片微服务镜像包仅为786MB,最多减轻体量70%。
微服务部署包拆分前后体量对比
2、拆分后内存占用量更低。在2核4GB服务器中,拆分前的GIS微服务节点运行时占用内存为1290MB,拆分后各服务节点运行时占用内存平均值为605MB,内存占用量降低 50%以上。
微服务节点运行内存拆分前后对比
3、拆分后启动速度更快。在4核8GB服务器中(服务器规格越大,各微服务启动速度越快),拆分前GIS微服务包启动速度为33.6秒,拆分后各微服务包启动速度在10秒左右,瓦片微服务包达到了7.4秒,启动速度最多加快78%。
微服务包拆分前后启动速度对比
超图的GIS微服务包拆分,在包的体量、资源占用、启动速度上有明显提升,使得云原生GIS更轻量、更细粒、更快速,极大程度提高了系统资源集约利用水平。
领域空间微服务轻松扩展
超图云原生GIS内置丰富的通用空间微服务,可满足 GIS行业生产大部分的功能需求。但由于某些行业有着特定的业务逻辑,用户会自行构建与空间信息相关的领域空间服务。对这种用户自定义的服务的扩展,超图云原生GIS也提供了微服务扩展技术方案。
新增基于DSSE的领域微服务扩展
超图云原生GIS提供了领域空间信息服务扩展(Domain Spatial Information Service Extension,简称DSSE)机制。通过该机制,用户可方便地扩展出不同领域的空间信息服务。通过云原生GIS内置的构建工具,即可在不修改任何代码的情况下,便捷地构建出领域空间微服务的镜像,并轻松集成到云原生GIS中。管理员通过云原生GIS内置的管理服务可对扩展的服务统一进行管理运维,如调整服务节点规格、动态伸缩、局部滚动升级等。
超图云原生GIS除了提供微服务扩展方案外,还提供了用于扩展的示例工程,用户可以在扩展技术方案的帮助下,在示例工程上快速扩展一个属于自己的领域空间服务。请到这里下载示例工程文件,https://pan.baidu.com/share/init?surl=TZJy1eXWDY03HwE9UKOMow(或长按识别下方二维码),提取码:x3cz,开启微服务扩展的新体验。
云原生GIS新特性
在10i(2020)版本中,除了微服务全方位可扩展与微服务包拆分外,超图还提供了:
1、全套ARM镜像,支持在ARM架构下部署、使用云原生GIS;
2、可一键部署空间区块链环境,发布区块链服务;
3、引入GraalVM 原生编译技术,使得云原生 GIS开销更小、启动更快;
4、提供了云原生版的数据科学服务,可将其拆分为多个微服务,分别运行在不同的 K8s Pod 中;
5、新增云原生的Web打印服务,支持将符合SuperMap WebMap规范的WebMap 输出为可打印的地图文档;
6、运维管理方面,支持设置服务节点规格,调节节点压力;通过UI修改镜像,实现局部的升级与回滚。
文/云产品研发中心 周世杰 周婧 王伊湋
欢迎转载~