基于微服务架构的应用运行性能监控研究

2021-09-22 06:13宁肖
电子技术与软件工程 2021年15期
关键词:组件架构监控

宁肖

(江苏省扬州环境监测中心 江苏省扬州市 225007)

传统运行监控系统对管理员依赖度较高,管理员负责对系统进行运行监控和故障排查,技术持续升级影响下,相关应用系统复杂度提升,必须为管理员减负,寻求人力释放方案,提升系统智能化。APM系统是以应用性能管理为应用目的的监控系统,监控效果较好,更具智能性,技术更完善。APM系统结合微服务架构应用可提升应用性能。

1 微服务架构概述

微服务架构为现代新科技,主要应用于云中部署,促进云服务完善。以轻量级设备为媒介,利用自有程序,可实现微服务、HTTP型API之间的沟通。微服务架构中,当针对某项服务进行功能拓展时,无需缩小进程范围,而是直接针对特定服务加设目标功能即可,整体进程不受到功能拓展影响。常规服务中通常需要独立资源或功能,而微服务匹配业务能力。在该架构应用时应科学设计能力模型粒度。相关组件组合时,其中的组件与规模同步改变。在此情况下,服务粒度过粗将导致其与规定原则不一致。应精细化设计服务粒度,增强变化灵活性,降低负载影响。与此同时,应合理设计配置,并对基础设施成本进行监控[1]。

微服务是网络服务宏观发展趋势。在应用时应对服务与应用进行精细化分解,保证组件符合小粒度要求,进行松散耦合,通过此种设计促进微服务扩展升级。独立部署是微服务的主要特点,其扩展和并发性能突出,可根据业务划分应用系统,促使复杂的系统被拆解为不同服务单元,而各单元均为独立业务模块。模块具有单一功能,故而单独功能变更升级对同系统其他模块无显著影响,微服务单元进程独立,运行限制较少。各单元设有独立存储模式和数据库,适应复杂的数据存储需求。通信机制为轻量级,可有效配合,支持沟通功能,通讯不受监控平台、语言影响。以生产作业平台为例,以微服务框架为基础设计运行性能监控系统,可降低开发难度,促进高成效开发。

2 APM系统

2.1 系统特点

运行性能监控系统简称APM,是为适应日益复杂的应用系统、减轻系统管理员压力、提升监控质量而设计的新型系统。APM系统符合“端——端”业务监控要求,以用户体验为中心,管理顺序是自上而下进行管理,在IT运维管理中具有先进性。APM是IT运维管理中的新型管理模式,可有效监控微服务IT应用状态,促进系统优化,持续完善应用体验,提高系统可靠性,促进人性化系统设计,同时对TCO降低有积极意义。

2.2 主要模块

APM系统主要分设三个模块,分别负责性能多级监控、故障定位和性能全维度优化。应用APM可促进通讯协议全方位覆盖,进行7层管控,通过监控与模拟事务处理过程促进“点——点”模式监测,精准监测组件。可快速检出系统故障,制定修复方案或实施修复。系统中可精准展示系统资源占用水平,结合系统性能分析,制定专家级完善方案[2]。

3 微服务架构为基础的APM

微服务模式应用开发更具先进性与科学性,当前业务系统设计对微服务架构的应用价值较认可,架构应用较多,在此影响下应用性能管理呈现更加复杂的相关性。在系统设计中,应达到持续交付要求,以优化服务体验为核心。微服务开发需要动态进行,应用规模通常较大,导致需要投入更多成本收集数据。监控数据对数据分析过程影响力增强。此外,关联分析与可视化数据分析可行性提升。

3.1 系统架构分析

以微服务架构为基础设计应用性能监控系统即微服务APM时,应先行设计总体架构(设计流程见图1)。数据是性能监控的核心,针对数据应设计采集、显示、存储和处理分析等系统。微服务属于云服务范畴,为保证云服务实施需要建设云基础设施。需要设置基础硬件,对信息资源进行集中式调控,实施云操作控制,之后创建负载均衡组件并编制内容分发网络。

图1:系统设计流程

监测和评价微服务APM服务体验,进行多协议运行部署,设计平台代理程序,协调探针、自动机器人等。进行该层面设计可促进APM价值提升。该设计可保证最终用户体验处于端口镜像模式中代理部署风险降低,相关调查显示,此种设计可将风险发生率控制在20%左右。通过此种设计可显著提高部署速度,2天内即可完成。

(1)构建应用运行框架,完善微服务过程模式、路径快照、监控云。明确拓扑结构与服务依赖关系,确定程序架构逻辑关系。

(2)微服务自定义、URL地址自定义,高级别分组(即8~12级分组)。筛选与微服务适配的服务等级协议指标,构建微服务信任关系,从而使系统可生成预警趋势报告信息[3]。

(3)监控系统深层信息。监控运维时间与运行信息、评价系统应用状态、中间件情况,设计诊断监视系统,创建智能数据库。审查代码科学性,完善解决方案,保证系统性能测试中数据精准无误,消除影响系统高效率运行的消极因素。

(4)分析运行性能数据并形成报告。应用原始信息和性能相关信息进行系统优化。加强服务级管理、基线管理,评价产能设计科学性并对症完善设计,预测系统运行趋势等。

3.2 APM探针

微服务APM设计应用中APM探针是重要构成,探针性能与监控数据精准度密切相关。在此类系统中所用探针通常为Java结构,此种结构设计可促进系统性能持续优化,实现无盲点监控,动态检出微服务拓扑,定位性能异常,还可根据系统应用需求设计自定义事务,进行定向监控,强化监控性能,高质量监测安全事件,对应用漏洞进行精准定位。

系统内组件节点相互调用过程中,需要对应用级别信息进行记录、传递和标记,以此维持组件逻辑关系。当节点与节点连接中通信协议采用HTTP2时,该协议头中会做出标记。该技术即标记树跟踪技术。技术相关解释如表1。在应用该跟踪技术时,探针对服务器中新触发条件进行检测识别,并赋予其应用层标记。

表1:标记含义

3.3 APM系统设计中微服务模块设计

微服务是进行软件开发,根据服务预期设计小型功能区块。在其模块设计中,区块功能单一且独立,执行不同职能,通过组合小模块最终实现大型应用程序构建,即形成运行性能监控系统。该系统具有复杂的功能。采用常规应用程序进行监控系统设计时,多为单体结构,内部模块为整体式设计,而微服务设计理念下创建的监控系统,其内部服务模块具有独立性,防止服务之间互相牵连,运行具有自主性。因为具有此种优势,故而单个服务发生故障不会干扰其他同级服务,可保证系统稳定性。在性能监控中融合微服务应用系统是时代发展要求对监控设计的客观要求。在构建APM系统时,应采用闭环设计,分设开发模块、部署模块、监控模块、预警报告模块和故障报告模块。利用微服务架构联合上述模块,通过平台统一监控,微服务组件分别进行信息收集,然后集中进行数据分析,维持系统平稳运行。APM分析和报告数据时,需要保证数据得到及时处理和精准分析。获取数据后应立即进行处理,同步传送数据,保证数据处理模块第一时间得到性能监控系统收集的数据并进行处理操作。系统收集的性能数据通常无直接应用价值,而必须经过分析得到深层信息,结合潜在信息、数据变化规律等促进系统预测,实现数据价值。大数据分析处理后厘清数据内部逻辑,并将其转换为清晰图表。

3.4 告警系统

微服务框架可分为多个组件部分,各组件具有高内聚和低耦合的性能特点。基于此背景,组件收集数据后对数据进行整合和过滤,数据经过处理呈现内部逻辑,必须加强性能监控。应在系统中告警阈值参数进行手动设置,预警报告信息丰富后,通过机器学习算法对相关阈值进行动态调整,以保证阈值与业务系统应用要求一致。发生预警报告时,应根据预设规则对预警报告信息进行去重和过滤,经过筛选的信息对系统管理具有实用性。微服务APM创建后,可分析告警类别并对应处理。结合机器学习分类算法,构建时段与性能故障的逻辑关系,对未来告警信息可能性发生节点进行智能预测,向系统管理员发出提前预警,促使系统增强主动防御功能。在微服务APM中设有工单系统,可分类告警信息,评价告警危险级别,通过三色预警系统提升预警精度。系统设置中预留电话、短信或者邮件地址,告警信息通过指定方式传达,系统管理员根据告警信息精准高效处理故障或系统异常[4]。

3.5 缺陷定位

APM追踪记录全周期微服务负载,对微服务拓扑进行宏观叙述,微服务流追踪可实现点到点精准追踪,并可定位故障和系统性能局限性。从微服务APM中筛选触发条件,设计浏览界面服务,以HTTP2协议为规则进行触发,应用触发条件时,需要缓存服务器、后端计算系统和数据库等支持,此外,在该协议支持下,第三方服务被Restful接口调用,在不同应用系统中收到触发条件并予以响应。在此过程中,微服务单个性能缺陷可能引起宏观系统运行滞后,符合木桶效应特点,APM追踪和记录系统负载情况,从而对微服务流活动过程进行还原,从而找出故障点,深挖性能局限性,精准锁定性能突破方向。

4 结论

综上所述,微服务性能监控推动业务系统监控渐趋完善,性能监控体系发生结构变化。在数据量持续增长影响下,监督和无监督学习在微服务APM中均有应用可行性,可更快识别系统问题,促进缺陷定位,缩短性能异常排查时间,提高性能完善效率。收集APM系统提供的告警数据,构建专家建议库,可促进APM系统异常应对性能优化,促进系统智能化。

猜你喜欢
组件架构监控
基于FPGA的RNN硬件加速架构
无人机智能巡检在光伏电站组件诊断中的应用
The Great Barrier Reef shows coral comeback
功能架构在电子电气架构开发中的应用和实践
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
LSN DCI EVPN VxLAN组网架构研究及实现
风起新一代光伏组件膜层:SSG纳米自清洁膜层