当前位置: 首页 > news >正文

云原生下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】八、进程通信

进程通信的介绍 目的 数据传输:一个进程将它的数据发送给另一个进程; 资源共享:多个进程间共享资源; 通知事件:一个进程向另一个或一组进程发送消息,同时事件如,进程终止时要通知父进程&#xf…...

不同类型的软件企业该如何有效的管理好你的软件测试团队?

最近在网上发现一篇记录了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调试时&#xff0c;在线安装codelldb-x86_64-linux.vsix扩展插件失败&#xff0c;原因是linux服务器上的网络问题&#xff0c;所以需要进行手动安装。 首先在windows上下载&#xff1a; codelldb-x86_64-linux.vsix&#xff1b;…...

【中间件篇-Redis缓存数据库08】Redis设计、实现、redisobject对象设计、多线程、缓存淘汰算法

Redis的设计、实现 数据结构和内部编码 type命令实际返回的就是当前键的数据结构类型&#xff0c;它们分别是&#xff1a;string(字符串)hash(哈希)、list(列表)、set(集合)、zset (有序集合)&#xff0c;但这些只是Redis对外的数据结构。 实际上每种数据结构都有自己底层的…...

华为云优惠券介绍、领取入口及使用教程

华为云是华为的云服务品牌&#xff0c;致力于为用户提供一站式云计算基础设施服务。为了吸引用户&#xff0c;华为云经常推出各种优惠活动&#xff0c;其中就包括优惠券的发放&#xff0c;下面将为大家详细介绍华为云优惠券的作用、领取入口以及使用教程。 一、华为云优惠券介绍…...

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):"…...

基于单片机的线路差动保护系统设计

摘 要 随着我国微型电子技术和嵌入式系统的发展&#xff0c;目前行业内相对比较传统的线路差动保护系统无法满足客户的需求。为了改进传统线路差动保护系统在控制上得短板问题&#xff0c;在本次毕业设计中&#xff0c;将使用相对先进、快捷、智能的控制机制。该系统的控制大脑…...

vscode 快速打印console.log

第一步 输入这些 {// Print Selected Variabl 为自定义快捷键中需要使用的name&#xff0c;可以自行修改"Print Selected Variable": {"body": ["\nconsole.log("," %c $CLIPBOARD: ,"," background-color: #3756d4; padding:…...

drawio连接线的样式设置

drawio是一款强大的图表绘制软件&#xff0c;支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用&#xff0c;则直接输入网址draw.io或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能&#xff0c;并实现了云端存储&#xff0c;以及在线共…...

【力扣题:循环队列】

文章目录 一.题目描述二. 思路解析三. 代码实现 一.题目描述 设计你的循环队列实现。 循环队列是一种线性数据结构&#xff0c;其操作表现基于 FIFO&#xff08;先进先出&#xff09;原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好…...

配置开启Docker2375远程连接与解决Docker未授权访问漏洞

一、配置开启Docker远程连接 首先需要安装docker,参考我这篇文章&#xff1a;基于CentOS7安装配置docker与docker-compose 配置开启Docker远程连接的步骤&#xff1a; //1-编辑/usr/lib/systemd/system/docker.service 文件 vim /usr/lib/systemd/system/docker.service //2…...

土木非科班转码测开,斩获10家大厂offer

大家好&#xff0c;我是洋子 24届秋招基本已经落下了帷幕&#xff0c;各大互联网大厂基本也开奖完毕&#xff0c;还没有拿到满意offer的同学也不要灰心&#xff0c;积极备战明年的春招。另外&#xff0c;25届想要找暑期实习的同学也可以开始准备起来了&#xff0c;基本大厂在春…...

HarmonyOS 高级特性

引言 本章将探讨 HarmonyOS 的高级特性&#xff0c;包括分布式能力、安全机制和性能优化。这些特性可以帮助你构建更强大、更安全、更高效的应用。 目录 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 时一直报错&#xff0c;libtool 未定义&#xff0c; 要先在当前目录执行 libtoolize&#xff0c;再执行 au…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术&#xff0c;它们扮演着完全不同的角色&#xff1a; Redis: 内存数据库/数据结构存储 本质&#xff1a; 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能&#xff1a; 提供丰…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...

Axure 下拉框联动

实现选省、选完省之后选对应省份下的市区...