码农知识堂 - 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使用示意视频(已开启服务实例动态化管理)

    使用示意视频

  • 相关阅读:
    黑白影片智能上色,复原历史重现经典
    自动化测试工具的定义及作用
    音视频(2) - 编译libx264库
    【Spring Boot项目】根据用户的角色控制数据库访问权限
    互融云供应链代采金融系统:优化企业运作、有效控制成本
    linux如何查看各个文件夹大小
    【实用工具系列】MathCAD入门安装及快速上手使用教程
    Week 7 Latent Variable Models and Expectation Maximization
    黑豹程序员-java语法分析入门案例(模拟代码编译器解析过程)
    【100天精通python】Day24:python 迭代器,生成器,修饰器应用详解与示例
  • 原文地址:https://blog.csdn.net/supermapsupport/article/details/126116459
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号