云原生·微服务 那些藏在MapGIS 10.5里的新技术
云平台整体架构图
在Java生态圈,Spring Cloud是目前使用最为广泛的微服务框架,经过大型互联网企业的生产环境磨炼,该框架日益成熟稳定可靠。MapGIS 10.5使用Spring Cloud微服务框架将MapGIS Web服务划分为更小粒度的微服务,包括地图服务、要素服务、空间分析处理服务、目录服务等,拆分后的微服务模块业务逻辑单一,维护方便,扩展性强,服务之间松耦合,故障传播范围有限,稳定性更高。同时接入服务网关、服务注册配置管理、服务熔断限流组件,实现微服务的路由调度、服务发现、负载均衡、流量保护等功能。
为解决微服务架构带来的部署运维困难、跟踪问题复杂等问题,MapGIS 10.5云平台使用DevOps技术与容器技术,实现单个微服务的快速便捷部署,并支持多套国产化环境。面对大规模微服务集群部署,MapGIS 10.5云平台应用容器编排引擎智能化管理容器集群,实现了容器动态创建、销毁、负载均衡、弹性伸缩。
过去部署云服务集群环境,需要分别在所有集群节点上安装IGServer产品,配置GIS数据源,拷贝数据等一系列繁琐操作,工作量大且容易出错,应用云原生技术部署集群,这些问题则迎刃而解。开发者首先构建应用系统的容器镜像,推送到镜像仓库,并创建部署配置项,使用者只需要在容器编排系统中应用指定的部署配置项,就可以轻松实现云服务集群环境的自动化部署,简单高效稳定。
MapGIS云平台云原生核心技术方案采用Docker+Kubernetes。MapGIS云平台提供云平台相关产品(云运维管理系统、云门户、IGServer产品)和中间件(mysql,redis,rabbitmq,nacos)容器镜像,同时提供了Kubernetes的Controller配置项。用户在构建集群环境时,只需要执行简易的几步配置操作即可轻松完成部署,同时也保证了集群环境的一致性、服务的高效和可用性,减少资源的消耗。
集群部署结构图
云平台集群工作负载状态与部署
在未引入微服务框架前,MapGIS云平台针对本地GIS数据的集群服务采用带状态的集群管理模式,实现数据和服务的分片部署,可手动控制服务的分布和冗余份数。这种分片式服务管理模式下,数据可使用本地数据,比如矢量数据HDF/HDB、瓦片数据TDF/MUT,矢量瓦片数据VTDF/MUVT等。
在融入微服务思想架构升级后,针对WebGIS云服务,MapGIS云平台新增了无状态的微服务集群模式,这种模式下,将数据与计算节点分离,数据不能存放到节点本地,矢量数据放到矢量数据库(Oracle、PG)中,切片数据放到非关系型数据库(MongoDB)中,服务节点不再存放GIS数据,节点可以动态加入集群和销毁,提升了服务能力扩展的便利性,提高了服务可用性。
带状态的云服务集群结构图
无状态的云服务集群结构图
近年来,GIS技术发展走上快车道,深入应用到人们生产、生活的方方面面,一方面得益于日益广泛的应用领域对GIS不断提出新的高要求,另一方面也得益于GIS与日益涌现的新技术进行融合创新。MapGIS与云原生技术融合,引入了微服务的思想,实现云平台架构升级,以容器为部署载体,基于Kubernetes实现自动化编排,为用户提供更高效、更弹性以及更稳定的服务,帮助用户在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。
想知道MapGIS 10.5还有哪些新技术、新功能吗?
10月24日,由中国地理信息产业协会主办,国家地理信息系统工程技术研究中心、地理信息产业技术创新战略联盟、中地数码集团、武汉中地先进技术研究院有限公司共同承办“平台自主 生态创新MapGIS 10.5九州全国产化平台创新应用与生态建设分论坛”将于广西南宁国际会展中心举办,届时,您将进一步了解MapGIS 10.5平台技术跃迁,探索平台与应用融合最优路径,见证MapGIS信创生态融合成果,龙芯、飞腾、达梦等信创企业专家也将同台演讲,为您呈现空间地理信息产业信创发展新态势。在此,我们再次盛情邀您参会,交流探讨发展新思路,赋能产业,共创未来!