高并发论文
摘要
2023年3月,xx市某机器人集团启动多模态大模型智能清扫机器人平台建设,我作为架构师,主导了平台的整体架构设计与研发工作。该平台为集团多个机器人项目提供了统一的调度工具,涵盖图像识别,模仿学习,移动应用等八大子系统。系统基于4R原则,定义边界分模块,分配关键性能指标到指定系统,1年内实现云边端系统;聚焦关键微服务,通过立体层次化的治理历年,实现大并发系统毫秒级响应;通过全局REquestId,实现逻辑可视化的链路追踪系统,把解决问题实践降低到1天之内,性能指标满足率达到90%仪式上。平台历时12个月完成,近三年累计交付中小型智能机器人项目,显著提升了交付效率,成为集团标杆性工程。
正文
随着工业4.0与智能制造的持续推进,企业对高效可靠可自动化集成的智能设备需求迅速增长,清扫机器人作为智能制造与智慧运维的重要组成部分,市场需求日益旺盛。同时,我国已进入人口负增长阶段,劳动力供给持续减少,用工成本不断攀升,进一步推动企业加速自动化与智能化升级,机器人替代人工已成为行业加速自动化与智能化升级,机器人替代人工已成为行业发展的普遍趋势。然而,传统清扫机器人系统普遍存在标准化程度低自动化能力不足,智能化水平有限等问题,难以满足企业日益复杂的业务集成需求。尤其在机器人使用的高峰时段,老旧系统频繁卡顿,响应缓慢甚至宕机等情况,同时缺乏移动端能力,无法满用户随时随地高效操作的需求。在此背景下,为响应市场对智能化与自动化集成的迫切需求,自2023年3月起,苏州某机器人集团正式启动多模态大模型智能机器人研发项目,致力于打造面向未来的新一代智能清扫机器人平台。
在该项目中,我担任平台系统架构师,全面负责整体架构规划,核心方案设计以及关键技术落地实施。平台面向集团下12家子公司,200多家B类用户,日均新增原始数据量达到2.4TB,峰值任务并发量达到2000rps,提供涵盖调度,图像识别,模仿学习,数字孪生移动应用等八大核心业务子系统。在技术架构方面,平台采用云原生服务设计理念,后端基于SPring Cloud Alibaba技术系构建,前端采用vue3+element plus技术栈。针对系统任务的并发大,响应缓慢的问题,我们主要基于架构的4R原则,聚焦核心问题,并通过业务拆分,分布式缓存,读写分离等手段,最终实现高并发高可靠高性能的机器人平台系统。
由于系统在需求调研阶段,已明确确定支撑每日10TB的海量新增数据,2000的RPS任务请求等,经过架构团队的多轮调研,决定自上而下,分阶段分层次,逐步细化的方案策略实现我们的大并发系统。从前端到后端,系统分为5个层级:应用层,网关层,缓存层,服务层,设备层,在应用层我们采用UI缓存,在网关层实现限流,路由,黑白名单等,在缓存层实现数据的读写分离,在设备层通过docker技术实现快速拉起进程服务实现系统的可靠性。在实际开发中,我们系统平台分为三期:一期实现机简单但必要的最基础的功能功能,二期通过集群与缓存聚焦关键的系统性能指标优化,三期基于可视化追踪系统实现全面三高(高性能,高扩展,高可用)系统。
在本系统的研发过程中,我们通过拆分与分知,聚聚焦于优化,追踪与定位,完成了多模态大模型智能清扫机器人系统的建设与实现,具体实现如下。
一.职责分离与分而之治
基于系统业务的实际性能需求,并结合4rd的架构原则,从顶层到下层,逐步划分系统模块以及微momo服务,实现基本的,初步的系统捽性,在多模态大模型的机器人的初期研发过程中,系统需要支付多少B类管理用户,多少终端用户,多少运维人员,多少量的任务数据,并没有一个确切的量化数据,并且,行业内成熟的系统与我们的机器人平台业无并不一致,参考的意义并不大,因此,我们基于实际的业务场景,划分系统与模块,定义具体的性能指标,并把核心指标分配到指定的系统模块中,便于治理与优化。首先,划分系统范围,定义系统边界,如:app只做展示与下发任务,调度服务只关注任务生命周期等;其次,分析系统内有哪些角色,并为哪些角色提供服务,如:系统有类似卡和的B类分销商,有家庭用户,有运维人员,公司管理人员,在系统开发之前,要深刻理解他们的诉求;接着,思考系统角色,模块,服务之间的关系,抽象复用通过模块;最后,定义系统内外,内部之间的运行规则。按照4R原则,结合实际,在3个月内上线一个基础测试版本,6个月上线一个稳定高性能的国内版本,12个月上线一个全球化版本,深得用户青睐。
二.聚焦与优化关键微服务
聚焦关键微服务,锁定优化范围,通过立体,层次化得方式与手段实现微服务的性能优化。由于机器人的地图与海量运行数据需要APP,WEB端,可视化大屏展示,一个任务的请求与反馈的连接会涉及到多个层次,多个微服务,优化不是一蹴而就的。为了在各种终端毫秒展示地图图片,允许在每种终端设置UI缓存;为了实现高性能流量转发与限流,部署了Restry网关;避免任务地图数据查询数据库,实现分布式缓存以及本地缓存;为了提升任务,地图业务的流畅使用,通过数据库层面的读写分离,实现调度与大屏业务分离。经过整体立体的优化,在流量洪峰2000RPS时,依然实现了南北向接口0.8秒内响应,东西向接口50毫秒内响应,同时支持20多个子系统稳定运行。
三.可视化追踪与定位优化
通过全局的request实现横跨多个微服务的链路追踪系统,并通过逻辑可视化实时展示读卡点的相关服务进程与代码位置,可帮运维与研发人员迅速定位问题。由于系统部署方式比较复n杂,既有海外云边端系统,又有国内的端云系统,涉及相关服务大概20多个,当系统异常卡顿时,定位相当困难,因此,基于场景我们定义并实现了一套全局链路追踪系统。当一个任务请求时,系统先根据部署集群区域,机器,服务等动态生成一个可持续的流水号REQUESTID,定义标准一体化的HTTP,mqtt,ws协议消息体,接着,在调用关联服务器时带上它,并记录日志;当系统问题触发时,通过requestID搜集相关日志以及关联时序数据,并通过大屏可视化回放,从而快速定位到问题点。通过可视化大屏链路追踪,把系统发现到解决问题实践,从2周缩短到1小时,系统的性能指标满足率达到90%以上。
经过12个月的项目研发,于2024年3月,多模态大模型智能清扫机器人平台系统顺利上线,并运行至今,在近3年时间内先后实施交付了10多个中小型项目,交付项目任务的并发量达到了2000rps,50毫秒内响应,并且机械臂的抓取成功率达到了82%,在集团内部成为了一个标杆项目,深得集团青睐。由于该平台对性能,可靠性,可扩展性,要求极高,并且项目周期又短,项目开发可谓困难重重。但由于我和研发团队ua都非常重视架构研发的过程管理,并对高并发涉及架构的方法论比较熟悉,最终按质量保证了项目的顺利交付。由于架构合理且考虑周全,整体进展比较顺利,得到行业内外的高度认可。
当然,站在架构师的角度回顾,在本项目中还存在一些不足,如:由于机器人清扫任务的高峰期都在用户上班之后,时间高度一致,并且本地临时缓存的默认过期时间相同,可视化大屏打开时,会有大量缓存穿透的发生,导致可视化大屏缓慢展示数据,并有部分crash错误,后续可以在本地缓存穿透的发生,导致可视化大屏缓慢展示数据,并有部分crash错误,后续可以在本地缓存中设置不同的过期时间,设置缓存默认值,以及从数仓DWS中获取数据,从而极大降低展示异常的风险。
展望未来,我们将继续推进多模态大模型智能青岛机器人平台的技术研究与产品优化,持续积累经验于技术储备,为构建更高效,更智能的机器人人平台奠定坚实基础
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)