基于微服务的应用性能监控方案

author author     2023-02-15     462

关键词:

智能、互联时代已经来临,应用并发量激增,业务流程更加复杂,新技术迭代落地的速度更快。采用传统单体架构开发和控制系统代码的复杂度、保障系统可扩展性的难度越来越大。微服务架构通过将独立业务流程解耦的设计理念快速赢得了大量架构师的关注,其更加灵活的部署方式和便捷的服务拼装都使人眼前一亮。大量企业,特别是互联网企业基于微服务架构建设的信息系统都获得了成功。然而,微服务架构是否适合所有类型的应用系统呢?微服务架构是否是解决日益膨胀的数字系统开发和管理难题的方案呢?

微服务架构是一把双刃剑,一方面它大幅度缓解了基于单体架构的系统开发、部署的复杂性问题;另一方面它给用户数字体验保障、应用性能稳定性保障带来了新的挑战。

基于微服务架构的应用的主要特点是业务功能模块松耦合、分布式部署。大部分业务功能模块都是单独部署运行的,彼此通过数据总线交互,基本都是无状态的服务,以确保能够灵活扩展。在这种架构下,从前台到后台的业务流程会经过多个服务节点(可能包括多台物理设备、虚拟机、容器和很多微服务)来进行处理、调用和传递。这种方式的主要优点如下。

  1. 业务逻辑复杂、系统庞大的应用系统能够持续交付、持续部署。
  2. 服务业务逻辑独立,易于开发。
  3. 服务之间的耦合度低,可以独立部署。
  4. 服务可以独立集群扩容。
  5. 使应用能够快速引入新技术,支持多种语言开发的服务协同工作。

基于微服务架构的应用系统在运维过程中会遇到如下很多棘手的问题。

  1. 应用的服务节点数快速增加,复杂度急剧膨胀,导致测试、运维成本增加。
  2. 业务流程处理链路变长,保障用户数字体验的难度增加。
  3. 业务逻辑和中间件解耦,动态性提升,日常管理的难度增加。
  4. 监控目标类型多,数据来源分散,故障定位、分析困难。

目前,运维团队应对以上问题的主要手段是,采用Prometheus、ElasticSearch、SkyWalking、Zipkin、ZABBIX等开源工具自建应用监控系统。但是,实践结果显示,这种方式不仅不能降低微服务监控运维的成本,而且由于需要搭建多种监控系统来协同工作,反而增加了系统的复杂度,同时从多个系统接收告警、查询相关数据,使得故障定位和分析的成本更高。

因此,企业需要围绕基于微服务架构的应用监控运维场景,研发设计全景监控管理解决方案。以全景监控视图整合应用监控数据,通过场景化仪表盘来应对用户数字体验保障、业务流程监控、应用性能稳定性保障等场景,化繁为简,为企业落地微服务保驾护航。该解决方案的核心价值可以总结四个方面。

  1. 业务优先一体化监控,提升了系统的可靠性。
  2. 划清责任边界,有序管理运维。
  3. 实时监控业务,简化人工处理故障的过程。
  4. 融合多源数据,支持智能、高效运维。

对于企业来说,基于微服务架构的应用的智能运维系统能够解决的主要难点和对应的解决方案可以总结为以下几点。

  1. 系统复杂度激增,导致故障频发、用户投诉不断,用户体验难以保障。

解决方案:围绕用户体验保障,打造全景监控系统,提升系统的可靠性。

关键价值

①业务优先一体化监控,提升了系统的可靠性;

②全景监控,简化了问题溯源流程;

③业务状态可视化,简化了定位分析流程;

④全局态势分析,可实时感知潜在风险;

⑤故障溯源,可进行海量数据的溯源分析;

⑥全面支持各种微服务基础组件。

  1. 指标告警和业务错误无法关联,责任边界难以界定。

解决方案:梳理整合业务流程和监控指标、关联系统告警和业务异常,划清责任边界,有序管理运维。

关键价值

①划清责任边界,有序管理运维;

②可视化层级视图管理,明确职责边界;

③整合业务和监控指标,辅助风险根源定位;

④有序关联运维场景,简化故障处理流程。

  1. 应用业务流程复杂,故障排查耗时

解决方案:打造以业务为核心的一体化监控视图,实时自动采集和分析复杂业务流程的状态,简化人工排查故障、定位故障根源的过程。

关键价值:实时监控业务,简化人工处理故障的过程,具体来说,包括以下方面。

①核心业务全景监控,一站式管理业务状态;

②实时监控业务,业务故障自动发现;

③打通业务和技术指标,压缩故障分析过程。

  1. 监控数据分散,定位分析困难

解决方案:整合现有监控系统数据,打造运维中台,打通异构监控数据源,为实现智能、高效运维奠定基础。

关键价值

①融合多源数据,支撑智能、高效运维;

②运维数据融合存储,业务技术指标联动;

③应用全链路监控,方便故障的关联定位;

④智能检测定位异常,支撑运维提效减负。

综上所述,要想让微服务架构为企业所用,发挥更大的价值,必须要有行之有效的基于微服务架构的应用监控运维系统。

.netcorewith微服务(代码片段)

...ticAPM,一款应用程序性能监控组件。APM监控围绕对应用、服务、容器的健康监控,对接口的调用链、性能进行监控。在我们实施微服务后,由于复杂的业务逻辑,服务之间的调用会像蜘蛛网一样复杂。有了调用链监控后服务之间... 查看详情

Spring Boot 微服务监控与管理

...:48【问题描述】:我们正计划为我们的应用程序构建一个基于微服务的分布式架构。我们也对几个概念进行了PoC。但是我对SpringBoot提供的各种管理和监控解决方案感到有些困惑。如果您能在下面澄清我的疑问,我将不胜感激:Sp... 查看详情

在微服务架构下基于prometheus构建一体化监控平台的最佳实践

...的可观测事实标准,那么今天为大家带来在微服务架构下基于Prometheus构建一体化监控平台的最佳实践和一些相关的思考,内容主要包括以下几个部分:微服务、容器化技术演进的监控之痛云原生时代,为什么是Prometheus阿里云Prom... 查看详情

微前端解决方案

...核心诉求都或存在问题,或无法提供支持。本文提供一种基于iframe的全新微前端方案,完善的解决了这些核心诉求。将微前端做到极致-无界微前端方案微前端(无界)qiankun方案qiankun方案是基于single-spa的微前端方案qiankun快速开... 查看详情

基于sentry的前端性能监控平台搭建与应用(代码片段)

一、Sentry简介Sentry是一套开源的实时异常收集、追踪、监控系统,支持几乎所有的语音和平台。这套系统由对应各种语言的SDK和一套庞大的数据后台服务组成,通过SentrySDK的配置,可以上报错误关联的版本信息、发布... 查看详情

基于elk+jmeter打造大规模应用压测平台

...性应用。图示:db-engine权威综合排名目前第8ElasticStack基于Elasticsearch,构建多种生态技术栈,解决方案,有来自官方的ElasticStack,有来自社区的各种融合,也有来自云端厂商的产品方案。图示:ElasticStac... 查看详情

细说metersphere基于prometheus实现的性能监控方案

根据官方文档,MeterSphere性能压测中的监控数据收集采用了Prometheus。但是它们是如何集成的?设计架构是如何设计的?很多人应该不清楚。这篇文章主要就是向大家介绍这相关的设计。Prometheus是什么?Prometheus是... 查看详情

Web 服务性能监控的最佳方式

...务托管在IIS7上。是否有任何性能计数器?我们的服务是基于WCF的Web服务。【问题讨论】:【参考方案1】:一个简单的选择是使用AppabricMonitoring 查看详情

springboot应用监控——actuator安全隐患及解决方案

...来源:blog.csdn.net/u013087026/article/details/109536552概述微服务作为一项在云中部署应用和服务的新技术是当下比较热门话题,而微服务的特点决定了功能模块的部署是分布式的,运行在不同的机器上相互通过服务调用进行... 查看详情

链路追踪和应用性能监控有哪些区别?

...者快速分析和诊断分布式应用架构下的性能瓶颈,提高微服务时代下的开发诊断效率。分布式应用环境下的链路追踪,并不是一个新话题。在早些时间,阿里云产品业务实时监控服务也有类似功能推出。那么链路追踪和业务实时... 查看详情

物联网架构成长之路(30)-springbootadmin微服务webui监控

...前言  一个完整的微服务解决方案包含了许多微服务,基于我们需要观察各个微服务的运行状态,因此SpringBoot生态提供了SpringBootAdmin这个组件来实现微服务管理WEBUI。但是整体的注册中心还是基于Eureka,只是WebUI是用这个SpringB... 查看详情

快速开发平台

1,企业级微服务框架简称ocp是基于layui+springcloud的企业级微服务框架(用户权限管理,配置中心管理,应用管理,....),其核心的设计目标是分离前后端,快速开发部署,学习简单,功能强大,提供快速接入核心接口能力,其目标是... 查看详情

快速开发平台

1,企业级微服务框架简称ocp是基于layui+springcloud的企业级微服务框架(用户权限管理,配置中心管理,应用管理,....),其核心的设计目标是分离前后端,快速开发部署,学习简单,功能强大,提供快速接入核心接口能力,其目标是... 查看详情

布道微服务_11监控系统选型与常见方案

Pre布道微服务_06微服务调用的监控中我们聊了聊监控系统的实现原理,简单来说主要包含数据收集数据传输数据处理数据展示不同的监控系统实现方案,在这四个环节所使用的技术方案不同,适合的业务场景也不一样。主流方案... 查看详情

使用skywalking监控mysql工具与方案(代码片段)

...监视(APM)工具,专为微服务、云原生架构和基于容器(K8s)架构而设计。当前版本具备了全路径跟踪、指标采集、日志记录等功能,并对多种编程语言及平台(Java/C/C 查看详情

应用性能监控系统skywalking

...,甚至可以跨云查看。它是一种现代APM,专门为云原生、基于容器的分布式系统设计。SkyWalking从三个维度对应用进行监视:service(服务),serviceinstance(实例),endpoint(端点 查看详情

微服务的调用链

微服务的复杂性需求:出现问题后,定位困难,需要对整个调用链路有个完善的监控链路复杂,需要清晰的链路图谱反映服务之间的依赖、调用关系整体系统性能及运行情况,需要明确的体现,才能根据实际情况调整资源监控内... 查看详情

微服务|微服务网站性能测试

...立开发和部署,满足新业务快速创新和敏捷交付的需求。基于Devops的微服务架构是云时代部署应用的一项热门技术,它把庞大的单个应用程序分解为数十个微服务,每个服务独立开发、更新和部署,使业务 查看详情