码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 海量服务实例动态化管理


    作者:lly

    文章目录

      • 背景
        • 困难与挑战
        • 实际项目需求
      • 一、服务实例动态化管理能力
        • 1.1服务延迟初始化,轻松支撑海量GIS服务,秒级启动
        • 1.2服务按需启动,快速响应、运维无忧
        • 1.3自动销毁空闲服务,合理分配硬件资源
        • 1.4服务容量控制,提升系统可用性
      • 二、使用方式
        • 2.1开启服务实例动态化管理
        • 2.2参数设置
        • 2.3保存生效
      • 三、应用场景及性能情况
        • 3.1应用场景
        • 3.2性能提升
        • 3.3使用示意视频(已开启服务实例动态化管理)

    背景

    困难与挑战

    随着数据量、服务量、业务量不断增长与积累,GIS软件服务器需要能够承载和支撑更多的GIS服务,这也对服务器本身提出了更高的要求:

    • 如何在有限的硬件资源下,能够稳定支撑上千、甚至上万个GIS服务?
    • 如何确保存量GIS服务较多时,启动效率仍能达到运维要求(秒级)?
    • 如何能流畅地管理海量的GIS服务?
    • 如何能够保证系统的稳定性、可用性?

    实际项目需求

    以上存在的困难与挑战,在实际项目中也是屡见不鲜,某项目就遇到了以下三个难点。
    3多:

    • 数据多,存量10W数据,日增3000份
    • 服务多且热度不一,共30w+服务
    • 用户多,15000个用户,平均30%在线率

    2高:

    • 并发高,几十用户同时发新服务;数千用户,并发浏览数据
    • 可用性要求高,生产期间不能停机、停服

    1限:

    • 资源总体有限,提供12台虚拟机,不能无限扩容

    为了解决以上难点,经过研发团队数月攻坚,在iServer 11i版本提供了服务实例动态化管理能力,实现单节点承载30w+服务,秒级启动。

    一、服务实例动态化管理能力

    1.1服务延迟初始化,轻松支撑海量GIS服务,秒级启动

    开启服务实例动态化管理后,SuperMap iServer启动时只加载、启动GIS服务的内核,不进行初始化,大大节省了初始化耗时及服务的资源占用。因此,当存量GIS服务数达到数千、数万甚至十万时,SuperMap iServer启动速度仍然能够达到秒级,符合运维需要。

    1.2服务按需启动,快速响应、运维无忧

    当服务接到用户的请求后,能够自动拉起,并能达到毫秒级响应。在GIS服务存量较多时,管理员仍能流畅地进行新发布服务、服务修改等操作,响应迅速、轻松运维。

    1.3自动销毁空闲服务,合理分配硬件资源

    可以设置允许同时在线服务实例最大个数,可避免资源被过度使用,保障 GIS 系统的可用性。

    1.4服务容量控制,提升系统可用性

    内置过载保护措施,通过限制运行的服务实例数,优雅控制容量,避免资源的过度使用,从而提升系统的可用性。

    二、使用方式

    2.1开启服务实例动态化管理

    在高级-》全局设置-》服务实例动态化管理设置中即可开启或关闭开启服务实例动态化管理。
    在这里插入图片描述

    2.2参数设置

    开启按钮后,可进行参数设置,如下图:
    在这里插入图片描述
    服务状态巡检间隔时间:指检查服务实例是否处于空闲状态的间隔时间,单位毫秒,默认值为 30000 毫秒。该值越小,表示巡检越频繁,服务自动销毁的行为越精确,但同时也越占用计算机资源。

    空闲服务主动销毁时间:当一个服务实例被检测到处于空闲状态,且空闲时间超过该阈值时,将被自动销毁。该参数单位毫秒,默认值为 300000 毫秒。

    最大在线服务实例数:允许同时在线服务实例最大个数,默认值为 2000 个。当同时在线的服务个数超过该阈值,请求访问新的 GIS 服务时,该服务将不予以启动,同时 iServer 将予以报错提示。

    2.3保存生效

    设置完参数后,保存并重启 iServer 。
    在这里插入图片描述

    三、应用场景及性能情况

    3.1应用场景

    服务实例动态化管理对以下两种场景都有很好的适用性:

    • 已发布的存量 GIS 服务数量达到数千量级以上,且大部分 GIS 服务使用频次较低。
    • GIS 服务器资源有限、且大部分GIS 服务使用频次低,需要合理控制资源使用,保证系统的稳定性、可用性

    3.2性能提升

    经过测试验证,在10万服务的场景下,iServer启动时间提升40倍+,拉起时间提升25倍+,动态出图提升6倍+。
    在这里插入图片描述

    3.3使用示意视频(已开启服务实例动态化管理)

    使用示意视频

  • 相关阅读:
    spfa求存在负权边的最短路
    深入理解强化学习——序列决策(Sequential Decision Making)
    OpenDataV低代码平台新增组件流程
    tomcat启动配置java_home,启动网址等,点击startup.bat直接启动
    参考线平滑-FemPosDeviation-SQP
    【Node访问MongoDB数据库】
    华为od机考题目-导师请吃火锅
    ESP Insights:玩转设备标签
    AVL树左旋转算法思路与图解
    蚂蚁金服+拼多多+抖音+天猫(技术三面)面经合集助你拿大厂offer
  • 原文地址:https://blog.csdn.net/supermapsupport/article/details/126116459
  • 最新文章
  • Python笔记(二):Conda 常用命令总结
    Kafka InconsistentClusterIdException 导致容器无限重启,磁盘打满排查与修复
    DBLens + 企业微信智能机器人:把数据库 Agent 接入工作群
    通过 CC Switch 本地路由让 Codex CLI 接入 DeepSeek 等第三方模型
    简单vmpwn的思路
    Slickflow.AI 基于 Harness 工程规范的多智能体交互过程实现
    Dynamic Workflows 深度解析:Claude Code 为什么把多 Agent 编排写进可执行代码
    Codex新手保姆级教程:新手从安装到跑通第一个项目!
    花了一晚上AI Coding, 在不熟悉的领域,使用AI帮同事解决了跳槽的小问题
    一首《谦比希铜矿之歌》厂歌火爆全网,背后是AI的数学本质
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号