动机
随着GIS服务数据图层数量的增加,以及单个GIS图层数据的数据量大,传统的GIS 服务器的方式,如:IServer方式,已难以满足“三高”要求,会出现服务响应慢、服务糅合在一起、服务监控难等挑战,因此需要在IAAS云计算的基础上引入SAAS层的云原生计算技术,因此,超图软件研发了IManager产品。
什么是IManager?
IManager产品是对IManager、IPortal、IServer的集合简称,即实现对IServer服务的云化。其实现的技术原理是对原有IServer的微服务化(包括了IObjects组件纵向的微服务化、IServer表现层纵向的微服务化、微服务化配置【涉及到:网关、服务路由、服务中心、注册中心、节点中心、监测中心】),同时,也将IPortal融入其中。目前IManager处于超图研究院的发展前列,且经历了项目的历练。云原生(Cloud Native)技术是应用架构进化的方向,是企业发挥云计算价值(如按需供给、高弹性、强PaaS)的必由之路。从微观的角度来说,云原生技术包括微服务架构、容器和 DevOps 等核心内容。
IManager主要用到了哪些技术?
Linux、NFS(共享文件系统,实现持久化存储层和PVC,支持POD)、K8S(弹性容器,形成POD)、IManager技术(业务功能,如涉及到:发服务、监测服务、服务断言、监测节点、服务收割等)、IServer镜像包(微服务化组织的IServer);
验证IManager的有效方式
采用压力测试 Jmeter的方式,拼接每个瓦片请求的或者动态服务请求,增加随机行列值,实现动态请求。压力测试时涉及到的并发数量,并不是真正服务的请求数量,两者概念不同。
基于IManager的GIS服务一般制作与应用流程
主要包括了:数据优化、服务组织架构优化2个部分
IManager上实现应用的步骤
第一步:部署NFS+K8S
第二步:部署部署包(配置文件)+镜像文件(镜像)
第三步:IManager配置服务;
具体实现步骤如下:
K8S技术
Borg就是一个喷气式飞机的驾驶系统,非常的专业和高大上,他适用于谷歌这样的大公司,它有几百万的机器。Kubernetes是一个它的简化版,它是一辆设计优良的轿车,它适合中小型公司,更方便的用它来调度自己的集群。
Kubernetes源自谷歌15年生产环境的运维经验,同时凝聚了社区的最佳创意和实践。
Kubernetes,构建在Docker技术之上,为跨主机的容器化应用提供资源调度、服务发现、高可用管理和弹性伸缩等一整套功能,它提供了完善的管理工具,涵盖开发、部署测试、运维监控等各个环节。它的目标不仅仅是一个编排系统,更是提供一个规范,可以让你来描述集群的架构,定义服务的最终状态,Kubernetes可以帮你将系统自动达到和维持在这个状态。
K8S的知识体系
- 亮点1: Kubernetes以“一切以服务(Service)为中心,一切围绕服务运转”作为指导思想的创新型产品。
- 亮点2: Kubernetes是一个开放的开发平台。与J2EE不同,它不局限于任何一种语言,没有限定任何编程接口,所以不论是用Java、Go、C++还是Python编写的程序,都可以被映射为Kubernetes的Service,并通过标准的TCP通讯协议进行交互。
- 亮点3: Kubernetes的另一个亮点是自动化。
- 亮点4: Kubernetes是一个完备的分布式系统支撑平台。
- CICD
2015年,谷歌联合20多家公司一起建立了CNCF(Cloud Native Computing Foundation,云原生计算基金会)开源组织来推广Kubernetes,并由此开创了云原生应用(Cloud Native Application)的新时代。作为CNCF“钦定”的官方云原生平台,Kubernetes正在颠覆应用程序的开发方式。
你有换云环境的需求,例如从GCP到AWS,使用Kubernetes的话,你就不用有任何担心。
IManager的其他注意事项
- 对NSF做扩容时,需要采用A/B互换,复制数据的方式,实现扩容;
- 数据文件和工作空间文件都需要放到NSF或者PG下面,这样可以被选择到;