云原生下GIS服务规划与设计
作者:lisong
目录
- 背景
- 云原生环境下GIS服务的相关概念
- GIS服务在云原生环境下的规划调度策略
- GIS服务在云原生环境下的调度手段
- GIS服务在云原生环境下的服务规划调度实践
背景
作为云原生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服务的初步规划与调度,后续可以使用服务追踪、服务度量功能去掌握服务的流量情况,并以此做进一步的调度与优化。
相关文章:
云原生下GIS服务规划与设计
作者:lisong 目录 背景云原生环境下GIS服务的相关概念GIS服务在云原生环境下的规划调度策略GIS服务在云原生环境下的调度手段GIS服务在云原生环境下的服务规划调度实践 背景 作为云原生GIS系统管理人员,在面对新建的云GIS系统时,通常需要应对…...
VBA 宏For WPS(完整版)-供大家学习研究参考
VBE7.1安装方法: 适用于安装 WPS 2019 版本的 缺少 VBA 模块的 亲测可用,内含 VBA 7.1 安装顺序1、2、3、4按照顺序安装; 1.安装MSVCRTRedist\Release目录下32位的安装包,此安装包为运行时库 3.安装VBARedist\Release目录下32位的…...
【Linux】八、进程通信
进程通信的介绍 目的 数据传输:一个进程将它的数据发送给另一个进程; 资源共享:多个进程间共享资源; 通知事件:一个进程向另一个或一组进程发送消息,同时事件如,进程终止时要通知父进程…...
不同类型的软件企业该如何有效的管理好你的软件测试团队?
最近在网上发现一篇记录了2012年《[视频]作为测试经理如何有效管理好你的软件测试团队》的文字内容,感谢记录的人,我也保存一下。顺便将演讲中的PPT重点截图也放上来,一并保存了!。由于是现场速记,过度的口语化&#x…...
vue echart 立体柱状图 带阴影
根据一个博主代码改编而来 <template><div class"indexBox"><div id"chart"></div></div> </template><script setup> import * as echarts from "echarts"; import { onMounted } from "vue&…...
vscode远程linux安装codelldb
在windows上使用vscode通过ssh远程连接linux进行c调试时,在线安装codelldb-x86_64-linux.vsix扩展插件失败,原因是linux服务器上的网络问题,所以需要进行手动安装。 首先在windows上下载: codelldb-x86_64-linux.vsix;…...
【中间件篇-Redis缓存数据库08】Redis设计、实现、redisobject对象设计、多线程、缓存淘汰算法
Redis的设计、实现 数据结构和内部编码 type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)hash(哈希)、list(列表)、set(集合)、zset (有序集合),但这些只是Redis对外的数据结构。 实际上每种数据结构都有自己底层的…...
华为云优惠券介绍、领取入口及使用教程
华为云是华为的云服务品牌,致力于为用户提供一站式云计算基础设施服务。为了吸引用户,华为云经常推出各种优惠活动,其中就包括优惠券的发放,下面将为大家详细介绍华为云优惠券的作用、领取入口以及使用教程。 一、华为云优惠券介绍…...
OPTEE安全通告之CVE-2023-41325(Double free in shdr_verify_signature)
安全之安全(security)博客目录导读 目录 一、受影响版本 二、漏洞描述 三、问题触发 四、官方Patch修复...
第12章 关于 Micro SaaS 的结论
从时间和地点的自由到一种新鲜的独立感,开发 Micro SaaS 应用程序有很多好处。 获得 6 位数的订阅收入。辞掉我朝九晚五的令人丧命的工作。消除毫无意义的会议、办公室政治、混乱和救火。想工作就工作。随时随地使用我想要的任何技术工作。花更多时间陪伴家人。与我开发的应用…...
postman调用接口报{“detail“:“Method \“DELETE\“ not allowed.“}错误, 解决记录
项目是python代码开发, urls.py 路由中访问路径代码如下: urlpatterns [path(reportmanagement/<int:pk>/, views.ReportManagementDetail.as_view(), namereport-management-detail),] 对应view视图中代码如下: class ReportManagementDetail(GenericAPIView):"…...
基于单片机的线路差动保护系统设计
摘 要 随着我国微型电子技术和嵌入式系统的发展,目前行业内相对比较传统的线路差动保护系统无法满足客户的需求。为了改进传统线路差动保护系统在控制上得短板问题,在本次毕业设计中,将使用相对先进、快捷、智能的控制机制。该系统的控制大脑…...
vscode 快速打印console.log
第一步 输入这些 {// Print Selected Variabl 为自定义快捷键中需要使用的name,可以自行修改"Print Selected Variable": {"body": ["\nconsole.log("," %c $CLIPBOARD: ,"," background-color: #3756d4; padding:…...
drawio连接线的样式设置
drawio是一款强大的图表绘制软件,支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用,则直接输入网址draw.io或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能,并实现了云端存储,以及在线共…...
【力扣题:循环队列】
文章目录 一.题目描述二. 思路解析三. 代码实现 一.题目描述 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好…...
配置开启Docker2375远程连接与解决Docker未授权访问漏洞
一、配置开启Docker远程连接 首先需要安装docker,参考我这篇文章:基于CentOS7安装配置docker与docker-compose 配置开启Docker远程连接的步骤: //1-编辑/usr/lib/systemd/system/docker.service 文件 vim /usr/lib/systemd/system/docker.service //2…...
土木非科班转码测开,斩获10家大厂offer
大家好,我是洋子 24届秋招基本已经落下了帷幕,各大互联网大厂基本也开奖完毕,还没有拿到满意offer的同学也不要灰心,积极备战明年的春招。另外,25届想要找暑期实习的同学也可以开始准备起来了,基本大厂在春…...
HarmonyOS 高级特性
引言 本章将探讨 HarmonyOS 的高级特性,包括分布式能力、安全机制和性能优化。这些特性可以帮助你构建更强大、更安全、更高效的应用。 目录 HarmonyOS 的分布式能力HarmonyOS 的安全机制HarmonyOS 的性能优化总结 1. HarmonyOS 的分布式能力 HarmonyOS 的分布…...
Spring整合redis的key时出现\xac\xed\x00\x05t\前缀问题
AutowiredRedisTemplate redisTemplate;User usernew User(5,"tomhs","tttt");ValueOperations opsForValue redisTemplate.opsForValue();//存放key,opsForValue.set("user"user.getId(),user);//读取数据;System.out.println(opsForValue.get…...
centos 6.10 安装 tcmalloc
安装 libunwind-1.6.2 下载地址 解压文件 cd libunwind-1.6.2 ./configure make && make install另一种方式 从 github 上下载的项目, 在执行autoreconf -i 时一直报错,libtool 未定义, 要先在当前目录执行 libtoolize,再执行 au…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...
