GIS是一種專業(yè)技術(shù),對(duì)業(yè)外人士而言它是高深莫測的,以前人們應(yīng)用傳統(tǒng)GIS往往面臨安裝部署麻煩、升級(jí)困難、擴(kuò)展性差、定位問題復(fù)雜等情況,這些也限制了GIS技術(shù)的普及與深入應(yīng)用,而云原生技術(shù)的出現(xiàn)則為解決這些問題帶來了契機(jī)。
隨著云計(jì)算技術(shù)的進(jìn)一步發(fā)展,由微服務(wù)架構(gòu),DevOps 和以容器化為代表的敏捷基礎(chǔ)架構(gòu)組成的“云原生”脫穎而出,在技術(shù)發(fā)展與市場需求的雙重驅(qū)動(dòng)下,GIS技術(shù)不斷迭代創(chuàng)新,云原生GIS技術(shù)應(yīng)運(yùn)而生。容器化封裝、動(dòng)態(tài)管理、面向微服務(wù)是云原生應(yīng)用的三大主要特征。所謂容器化封裝即以容器為基礎(chǔ),提高整體開發(fā)水平,形成代碼和組件重用,簡化云原生應(yīng)用程序的維護(hù);在容器中運(yùn)行應(yīng)用程序和進(jìn)程,并作為應(yīng)用程序部署的獨(dú)立單元,實(shí)現(xiàn)高水平資源隔離。動(dòng)態(tài)管理即通過集中式的編排調(diào)度系統(tǒng)來動(dòng)態(tài)的管理和調(diào)度。面向微服務(wù)則明確服務(wù)間的依賴,互相解耦。
基于云原生的設(shè)計(jì)理念,MapGIS 10.5構(gòu)建了云原生GIS技術(shù)體系,升級(jí)云平臺(tái)整體架構(gòu),將單體服務(wù)拆分為多個(gè)微服務(wù)模塊,并應(yīng)用DevOps技術(shù)實(shí)現(xiàn)自動(dòng)化鏡像構(gòu)建,同時(shí)利用容器化部署和容器編排引擎實(shí)現(xiàn)容器集群的自動(dòng)化智能管理,最終對(duì)外提供穩(wěn)定、高效、高可用的WebGIS服務(wù)。
云平臺(tái)整體架構(gòu)圖
微服務(wù)架構(gòu)升級(jí) 服務(wù)更穩(wěn)定更高效更具彈性
在Java生態(tài)圈,Spring Cloud是目前使用最為廣泛的微服務(wù)框架,經(jīng)過大型互聯(lián)網(wǎng)企業(yè)的生產(chǎn)環(huán)境磨煉,該框架日益成熟穩(wěn)定可靠。MapGIS 10.5使用Spring Cloud微服務(wù)框架將MapGIS Web服務(wù)劃分為更小粒度的微服務(wù),包括地圖服務(wù)、要素服務(wù)、空間分析處理服務(wù)、目錄服務(wù)等,拆分后的微服務(wù)模塊業(yè)務(wù)邏輯單一,維護(hù)方便,擴(kuò)展性強(qiáng),服務(wù)之間松耦合,故障傳播范圍有限,穩(wěn)定性更高。同時(shí)接入服務(wù)網(wǎng)關(guān)、服務(wù)注冊配置管理、服務(wù)熔斷限流組件,實(shí)現(xiàn)微服務(wù)的路由調(diào)度、服務(wù)發(fā)現(xiàn)、負(fù)載均衡、流量保護(hù)等功能。
為解決微服務(wù)架構(gòu)帶來的部署運(yùn)維困難、跟蹤問題復(fù)雜等問題,MapGIS 10.5云平臺(tái)使用DevOps技術(shù)與容器技術(shù),實(shí)現(xiàn)單個(gè)微服務(wù)的快速便捷部署,并支持多套國產(chǎn)化環(huán)境。面對(duì)大規(guī)模微服務(wù)集群部署,MapGIS 10.5云平臺(tái)應(yīng)用容器編排引擎智能化管理容器集群,實(shí)現(xiàn)了容器動(dòng)態(tài)創(chuàng)建、銷毀、負(fù)載均衡、彈性伸縮。
Docker+Kubernetes 輕松實(shí)現(xiàn)云服務(wù)集群環(huán)境的自動(dòng)化部署
過去部署云服務(wù)集群環(huán)境,需要分別在所有集群節(jié)點(diǎn)上安裝IGServer產(chǎn)品,配置GIS數(shù)據(jù)源,拷貝數(shù)據(jù)等一系列繁瑣操作,工作量大且容易出錯(cuò),應(yīng)用云原生技術(shù)部署集群,這些問題則迎刃而解。開發(fā)者首先構(gòu)建應(yīng)用系統(tǒng)的容器鏡像,推送到鏡像倉庫,并創(chuàng)建部署配置項(xiàng),使用者只需要在容器編排系統(tǒng)中應(yīng)用指定的部署配置項(xiàng),就可以輕松實(shí)現(xiàn)云服務(wù)集群環(huán)境的自動(dòng)化部署,簡單高效穩(wěn)定。
MapGIS 云平臺(tái)云原生核心技術(shù)方案采用Docker+Kubernetes。MapGIS云平臺(tái)提供云平臺(tái)相關(guān)產(chǎn)品(云運(yùn)維管理系統(tǒng)、云門戶、IGServer產(chǎn)品)和中間件(mysql,redis,rabbitmq,nacos)容器鏡像,同時(shí)提供了Kubernetes的Controller配置項(xiàng)。用戶在構(gòu)建集群環(huán)境時(shí),只需要執(zhí)行簡易的幾步配置操作即可輕松完成部署,同時(shí)也保證了集群環(huán)境的一致性、服務(wù)的高效和可用性,減少資源的消耗。
集群部署結(jié)構(gòu)圖
云平臺(tái)集群工作負(fù)載狀態(tài)與部署
多樣化的云服務(wù)集群模式 服務(wù)能力擴(kuò)展更便利
在未引入微服務(wù)框架前,MapGIS云平臺(tái)針對(duì)本地GIS數(shù)據(jù)的集群服務(wù)采用帶狀態(tài)的集群管理模式,實(shí)現(xiàn)數(shù)據(jù)和服務(wù)的分片部署,可手動(dòng)控制服務(wù)的分布和冗余份數(shù)。這種分片式服務(wù)管理模式下,數(shù)據(jù)可使用本地?cái)?shù)據(jù),比如矢量數(shù)據(jù)HDF/HDB、瓦片數(shù)據(jù)TDF/MUT,矢量瓦片數(shù)據(jù)VTDF/MUVT等。
在融入微服務(wù)思想架構(gòu)升級(jí)后,針對(duì)WebGIS云服務(wù),MapGIS云平臺(tái)新增了無狀態(tài)的微服務(wù)集群模式,這種模式下,將數(shù)據(jù)與計(jì)算節(jié)點(diǎn)分離,數(shù)據(jù)不能存放到節(jié)點(diǎn)本地,矢量數(shù)據(jù)放到矢量數(shù)據(jù)庫(Oracle、PG)中,切片數(shù)據(jù)放到非關(guān)系型數(shù)據(jù)庫(MongoDB)中,服務(wù)節(jié)點(diǎn)不再存放GIS數(shù)據(jù),節(jié)點(diǎn)可以動(dòng)態(tài)加入集群和銷毀,提升了服務(wù)能力擴(kuò)展的便利性,提高了服務(wù)可用性。
帶狀態(tài)的云服務(wù)集群結(jié)構(gòu)圖
無狀態(tài)的云服務(wù)集群結(jié)構(gòu)圖
近年來,GIS技術(shù)發(fā)展走上快車道,深入應(yīng)用到人們生產(chǎn)、生活的方方面面,一方面得益于日益廣泛的應(yīng)用領(lǐng)域?qū)IS不斷提出新的高要求,另一方面也得益于GIS與日益涌現(xiàn)的新技術(shù)進(jìn)行融合創(chuàng)新。MapGIS與云原生技術(shù)融合,引入了微服務(wù)的思想,實(shí)現(xiàn)云平臺(tái)架構(gòu)升級(jí),以容器為部署載體,基于Kubernetes實(shí)現(xiàn)自動(dòng)化編排,為用戶提供更高效、更彈性以及更穩(wěn)定的服務(wù),幫助用戶在公有云、私有云和混合云等新型動(dòng)態(tài)環(huán)境中,構(gòu)建和運(yùn)行可彈性擴(kuò)展的應(yīng)用。
想知道MapGIS 10.5還有哪些新技術(shù)、新功能嗎?10月24日,由中國地理信息產(chǎn)業(yè)協(xié)會(huì)主辦,國家地理信息系統(tǒng)工程技術(shù)研究中心、地理信息產(chǎn)業(yè)技術(shù)創(chuàng)新戰(zhàn)略聯(lián)盟、中地?cái)?shù)碼集團(tuán)、武漢中地先進(jìn)技術(shù)研究院有限公司共同承辦“平臺(tái)自主 生態(tài)創(chuàng)新MapGIS 10.5九州全國產(chǎn)化平臺(tái)創(chuàng)新應(yīng)用與生態(tài)建設(shè)分論壇”將于廣西南寧國際會(huì)展中心舉辦,屆時(shí),您將進(jìn)一步了解MapGIS 10.5平臺(tái)技術(shù)躍遷,探索平臺(tái)與應(yīng)用融合最優(yōu)路徑,見證MapGIS信創(chuàng)生態(tài)融合成果,龍芯、飛騰、達(dá)夢等信創(chuàng)企業(yè)專家也將同臺(tái)演講,為您呈現(xiàn)空間地理信息產(chǎn)業(yè)信創(chuàng)發(fā)展新態(tài)勢。在此,我們再次盛情邀您參會(huì),交流探討發(fā)展新思路,賦能產(chǎn)業(yè),共創(chuàng)未來!