云原生下GIS服务规划与设计

作者:lisong

目录

背景

作为云原生GIS系统管理人员,在面对新建的云GIS系统时,通常需要应对大量GIS服务的接入与管理。为了确保系统和服务的稳定流畅运行,我们需要提前做好规划与设计工作。

云原生环境下GIS服务的相关概念

(1)服务实例

GIS云套件中,一个GIS服务对应一个服务实例,服务实例为服务器上的具体服务。服务实例用于接收和处理客户端请求,实现一定的GIS功能,并将响应结果返回给客户端。GIS云套件支持使用不同数据源发布服务实例,并对服务实例进行管理。

(2)服务节点

GIS云套件中,服务节点是承载服务实例运行的单元,GIS云套件所有服务实例都在服务节点中运行,一个服务节点可支撑一个或多个服务实例运行。在服务节点页面,您可以创建服务节点、对服务节点进行监控与管理,在服务节点之间任意调度已发布的服务实例。

GIS服务在云原生环境下的规划调度策略

在GIS服务节点规划初期,可以从地区和服务类型进行划分。

(1)地区划分:对于人口密集的城市,需要更多的GIS服务节点来支持更高的访问量和更快的数据处理速度。而对于人口较少的地区,则可以减少GIS服务节点的数量,以节约资源。

(2)服务类型划分:对于需要实时更新的地图服务,需要更多的GIS服务节点来保证数据的及时性和准确性。而对于较为静态的GIS数据服务,则可以减少GIS服务节点的数量。

在接入GIS服务后,还可以根据实际情况按照数据量和访问速度进行调度。对于数据量较大的GIS服务,需要更多的存储空间和更快的数据传输速度来支持数据的高效处理和传输。而对于访问速度要求较高的GIS服务,需要更多的计算资源和更快的响应速度来保证服务的高效性和稳定性。

GIS服务节点规划是一个复杂的过程,需要综合考虑多方面因素,以便更好地满足用户的需求和提高系统的性能和稳定性。

GIS服务在云原生环境下的调度手段

(1)伸缩服务节点

按需对服务节点进行手动或动态伸缩。例如,当一个服务节点上发布了过多服务实例时,可以采取增加节点副本数,让服务节点能够承载更多服务实例。

手动伸缩:用户自行设置伸缩后的节点个数,服务节点会增加/减少至设定的个数。

动态伸缩:用户设置相应的指标,服务节点会根据负载情况自行伸缩节点个数。如不再需要动态伸缩,可点击服务节点名称旁的按钮删除。

(2)重新指定服务节点

将服务实例调度到任意一个或多个服务节点上运行,也可以新增服务节点。例如,某个服务节点承载了几个大数据量的服务实例时,可以将部分服务实例调度至其他服务节点运行,为当前服务节点减负。

(3)调整服务节点规格

按需修改节点CPU及内存大小。

(4)调整服务节点承载的服务实例

调度服务实例,主动选择在该节点上运行的服务实例,按需调整服务节点的服务实例数。

GIS服务在云原生环境下的服务规划调度实践

(1)规划服务节点

①地区节点

分别建立成都市、绵阳市、乐山市服务节点,后续可将不同城市的数据发布到对应的节点上。服务创建完成后,可以通过修改别名的方式对服务节点进行区分,便于后续管理。

②服务类别(以成都市为例)

分别创建地图节点、数据节点、瓦片节点,并分别修改别名,便于后续的查找与管理。

(2)接入GIS服务

分别将地图服务、数据服务、瓦片服务发布到成都市-地图节点、数据节点、瓦片节点。


发布成功后,可以在服务节点概览中看到新增的服务实例数。

(3)服务初步调度优化

①调整服务节点副本数

【手动伸缩】

【动态伸缩】

②调整服务实例

在服务节点的资源监控中,观察到成都市-地图节点的CPU、内存占用率较高,可以对该节点的服务实例进行调整,减缓节点的压力;

新建一个备用节点,将成都市-地图节点部分服务实例迁移到备用节点承载。

③调整服务节点规格

针对资源占用较高的服务节点,还可以对其规格进行调整,让节点的承载能力更强。

④指定或新建节点运行某服务

如果已知某个服务数据量较大,可以直接在服务列表将它指定到其他服务节点运行,或者新建一个服务节点用于承载该服务实例,避免影响当前节点的其他服务实例。

以上是GIS服务的初步规划与调度,后续可以使用服务追踪、服务度量功能去掌握服务的流量情况,并以此做进一步的调度与优化。

相关推荐
Linux运维老纪4 小时前
DNS缓存详解(DNS Cache Detailed Explanation)
计算机网络·缓存·云原生·容器·kubernetes·云计算·运维开发
Elastic 中国社区官方博客18 小时前
使用 Ollama 和 Kibana 在本地为 RAG 测试 DeepSeek R1
大数据·数据库·人工智能·elasticsearch·ai·云原生·全文检索
Linux运维老纪1 天前
windows部署deepseek之方法(The Method of Deploying DeepSeek on Windows)
linux·人工智能·分布式·云原生·运维开发·devops
Elastic 中国社区官方博客2 天前
Elastic Cloud Serverless 获得主要合规认证
大数据·数据库·elasticsearch·搜索引擎·云原生·serverless·全文检索
超级阿飞2 天前
在K8s中部署动态nfs存储provisioner
云原生·容器·kubernetes·nfs
赵渝强老师2 天前
【赵渝强老师】K8s中Pod探针的TCPSocketAction
云原生·容器·kubernetes
努力的小T2 天前
Linux二进制部署K8s集群的平滑升级教程
linux·运维·服务器·云原生·容器·kubernetes·云计算
2的n次方_2 天前
Eureka 服务注册和服务发现的使用
spring boot·spring cloud·云原生·eureka·服务发现
赵渝强老师3 天前
【赵渝强老师】K8s中Pod探针的ExecAction
云原生·容器·kubernetes
vibag3 天前
Kubernetes(一)
java·云原生·容器·kubernetes