APP下载

对高可用地理信息服务系统的研究
——以“天地图·广西”为例

2023-03-04姜代炜吴昊铮何敬源曾晶晶

南方自然资源 2023年1期
关键词:集群广西服务器

◎ 姜代炜,吴昊铮,何敬源,曾晶晶,汪 敏

随着地理信息技术在自然资源、生态环境、农业农村等领域的不断发展,用户对地理信息服务的数据可靠性、服务可用性和业务稳定性等要求越来越高,互联网环境下的地理信息服务面临着并发数激增、系统响应和容量限制等挑战。如何为用户提供稳定、可靠的高质量地理信息服务,成为稳定互联网地理信息服务系统建设需要解决的问题之一。集群技术是应对大规模用户并发访问和海量地理信息数据服务的主流技术手段。研究小组以“天地图·广西”的建设和应用实践为例,设计高可用性系统架构,超融合软硬件资源,组建多节点集群系统,对如何规避互联网地理信息服务应用单点故障和数据一致性问题进行初探。

一、“天地图·广西”地理信息服务高可用需求

(一)业务连续性需求

近年来,广西逐步建立了自然资源调查监测体系。持续性的自然资源调查监测要求“天地图·广西”提供稳定、可靠的基础底图服务。“天地图·广西”的用户数目和服务器访问量不断增长,各个功能组件需要保持高可用状态,才能避免因基础平台停机导致的业务大面积瘫痪。

(二)高并发性能需求

在服务负载较大的情况下,“天地图·广西”除了要满足对外提供7 天×24 小时不间断服务的要求,还应维持较好的服务性能。如“广西田长巡”APP 装机数量为9 万套,当其终端高并发调用“天地图·广西”底图服务时,如果在线地图服务加载过长,将极大地影响用户体验。

二、高可用地理信息服务系统架构

(一)整体架构

高可用地理信息服务系统架构整体采用集群化思路分层构建,主要使用IT 基础设施超融合、空间数据库集群和分布式协调地理信息服务设计,按照基础设施层、空间数据库层和地理信息服务层等进行分层。

(1)基础设施层。基础设施层采用超融合架构,从链路、网络、计算到存储设备对硬件系统进行冗余设计,利用虚拟化套件将物理设备整合为逻辑集群,以软件定义的方式将不同平面节点进行多模式互联,在基础层面实现集群高可用、动态调度和故障容错等功能。

(2)空间数据库层。空间数据库层横向扩展空间数据库,心跳线连接空间数据库节点,配置各类空间数据库存储逻辑,确保应用层对数据的请求可以合理地分配到不同的集群节点。

(3)地理信息服务层。地理信息服务层通过应用负载均衡服务,从整体上调度应用服务器,均衡数据访问请求流量,屏蔽故障节点,确保系统持续性提供地理信息数据服务。

(二)IT 基础设施超融合

IT 基础设施超融合使用虚拟化套件对冗余硬件设施进行虚拟化处理,以软件定义方式统一计算、网络和存储。IT 基础设施超融合物理网络、虚拟网络,多模式互联虚拟网络传输总线,划分数据、控制和管理平面,构建虚拟计算、分布式网络和共享存储集群;提供集群高可用、动态资源调度和故障容错等策略,自动迁移虚拟设备,降低物理故障的损害。

(1)集群高可用。集群高可用由活动、被动和见证节点组成,活动节点主动向关联节点发送心跳信息。当遭遇物理故障时,系统可以在其他物理主机上重新启动虚拟机。

(2)动态资源调度。虚拟机之间共享计算、存储资源池,系统在承载容量阈值超标时会启动负载均衡功能,将虚拟机热迁移到相对空闲的资源池中。

(3)故障容错。主、备虚拟机之间共享内存、数据和日志等信息,保持数据实时同步。当主机发生故障时,系统会立即切换到备机运行,保障业务的连续性。

(三)空间数据库集群构建

“天地图·广西”空间数据库集群结构如图1所示。系统对空间数据库进行多节点集群设计,为不同子系统配置主备、主从或分库节点,从水平方向扩展空间数据库的可用性。心跳线可用于检测集群健康状况,当遭遇单点故障时,备用节点可立即接管业务。

图1 “天地图·广西”空间数据库集群结构图

(1)地理要素数据库集群。地理要素数据库集群主要存储关系型数据,如矢量、地名地址、镶嵌数据集索引和网站业务数据等。这类数据容量小,使用主备方式来进行数据同步,对外提供虚拟IP 服务。主节点宕机时,虚拟IP 将自动漂移至备用节点继续运行。

(2)地图瓦片数据库集群。地图瓦片数据库集群主要存储瓦片数据,这类数据容量大,需要对数据库进行分库处理,提高单张瓦片查询的响应效率。分库内部包含主从节点、仲裁节点。主从节点数据集动态同步,当主节点出现故障时,仲裁节点触发投票机制,选出新的节点作为主节点对外提供服务;当地理信息服务器产生高并发请求时,瓦片数据库将进行路由轮询,自动平衡负载压力。

(四)分布式协调地理信息服务

由于各节点的分散性,集群系统会产生数据一致性问题。基于ZAB 原子广播协议的分布式协调服务能够进行节点间的相互协作和系统自治,可以较好地解决地理信息服务集群对外提供服务的数据一致性问题,并且可以通过动态增加服务节点来应对突然增加的服务负载。

(1)协调服务节点。协调服务节点具有领导者、跟随者与观察者3 种角色。领导者负责事务请求和管理调度集群节点;跟随者负责处理非事务请求,参与领导者选举投票,与观察者同步领导者信息;观察者负责监控集群状态,不参与投票。协调服务节点的数据发布与订阅使用推拉结合的方式。当领导者出现故障时,选举投票机制触发,单个节点自荐为领导者,跟随者进行投票。当选票超过(总数/2)+1 张时,新的领导者选出,所有协调服务节点状态信息刷新。

协调服务节点绑定地理信息服务节点,使用命名服务映射实际地址信息并共享配置信息。观察者负责监控地理信息服务节点状态,当状态改变时,通知协调服务节点更新信息。

(2)非事务请求和事务请求。在非事务请求方面,协调服务节点能够搜索、分派地理信息服务存活节点,从数据库中请求数据返回服务代理;在事务请求方面,分布式锁触发后将同步协调服务节点信息,交由领导者处理事务请求,领导者将地址交给分派的地理信息服务器处理,处理完毕后返回服务代理并释放分布式锁。

三、实践分析

在实践中,研究小组基于“天地图·广西”的整体软硬件环境,以压力测试的方式对系统高可用性架构进行了能力测试。

在带宽50 M、服务并发不少于1 000 个的情况下,研究小组以4 台地理信息服务器作为被测试对象,对“天地图·广西”地图瓦片(6~18 级)、矢量要素和地名地址服务进行3 轮测试,每轮并发访问持续10 分钟。在服务持续运行时,终止其中一台服务器,观察服务故障是否转移。

结果表明,服务器正常运行时,4 台服务器能较为平均地分配流量;当一台服务器终止时,访问量平均转移至其他3 台服务器上,在线地图服务平均响应时间小于0.4 秒,地图服务加载正常。

在实际应用场景中,2022 年上半年“天地图·广西”用户数目已达4.2 万,服务器月平均访问量超过1.5 亿次。其间,“天地图·广西”地理信息服务均表现良好,未尝出现服务中断情况。

研究小组根据“天地图·广西”业务应用需求,从IT 基础设施、空间数据库和地理信息服务器层次扩展了软硬件资源,实现了高可用地理信息服务系统的构建,利用故障转移、负载均衡和分布式协调服务解决了单点故障、高并发访问和数据一致性等问题,对增强后的系统负载进行了能力验证,验证了系统在故障环境下依然能够提供高效服务的能力。鉴于“天地图·广西”用户的多元性、访问量的不断激增以及互联网环境的复杂性,“天地图·广西”系统后续还需加强智能监控信息服务、同城灾备节点建设等方面的研究。

猜你喜欢

集群广西服务器
通信控制服务器(CCS)维护终端的设计与实现
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
中国服务器市场份额出炉
勤快又呆萌的集群机器人
广西尼的呀
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
广西出土的商代铜卣