当前位置:网站首页>海量服务实例动态化管理
海量服务实例动态化管理
2022-08-05 01:55:00 【supermapsupport】
作者:lly
文章目录
背景
困难与挑战
随着数据量、服务量、业务量不断增长与积累,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使用示意视频(已开启服务实例动态化管理)
边栏推荐
- 第十一章 开关级建模
- Greenplum数据库故障分析——版本升级后gpstart -a为何返回失败
- pytorch的使用:卷积神经网络模块
- 张驰咨询:揭晓六西格玛管理(6 Sigma)长盛不衰的秘密
- Leetcode brushing questions - 22. Bracket generation
- MySQL3
- Day Fourteen & Postman
- Greenplum数据库故障分析——能对数据库base文件夹进行软连接嘛?
- Dotnet 6 Why does the network request not follow the change of the system network proxy and dynamically switch the proxy?
- A new technical director, who calls DDD a senior, is convinced
猜你喜欢

Are testing jobs so hard to find?I am 32 this year and I have been unemployed for 2 months. What should an older test engineer do next to support his family?

方法重写与Object类

Xunrui cms website cannot be displayed normally after relocation and server change

LPQ(局部相位量化)学习笔记

.Net C# 控制台 使用 Win32 API 创建一个窗口

第十四天&postman

超越YOLO5-Face | YOLO-FaceV2正式开源Trick+学术点拉满

蓝牙Mesh系统开发四 ble mesh网关节点管理

Live playback including PPT download | Build Online Deep Learning based on Flink & DeepRec

释放技术创新引擎,英特尔携手生态合作伙伴推动智慧零售蓬勃发展
随机推荐
意识形态的机制
How to deal with your own shame
Short domain name bypass and xss related knowledge
Opencv - video frame skipping processing
一文看懂推荐系统:召回06:双塔模型——模型结构、训练方法,召回模型是后期融合特征,排序模型是前期融合特征
Fragment visibility judgment
Xunrui cms website cannot be displayed normally after relocation and server change
硬实力和软实力,哪个对测试人来说更重要?
跨域解决方案
Oracle encapsulates restful interfaces into views
ExcelPatternTool: Excel table-database mutual import tool
Jincang database KingbaseES V8 GIS data migration solution (3. Data migration based on ArcGIS platform to KES)
Day Fourteen & Postman
关于#sql shell#的问题,如何解决?
《.NET物联网从零开始》系列
行业现状?互联网公司为什么宁愿花20k招人,也不愿涨薪留住老员工~
【Redis】Linux下Redis安装
释放技术创新引擎,英特尔携手生态合作伙伴推动智慧零售蓬勃发展
Log an error encountered when compiling google gn "I could not find a ".gn" file ..."
CMS建站流程