我的编程空间,编程开发者的网络收藏夹
学习永远不晚

微服务的APM是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

微服务的APM是什么

本篇内容介绍了“微服务的APM是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

### 1. APM?

APM (Application Performance Management) 即应用性能管理(应用性能监控)

APM主要是针对企业 关键业务的IT应用性能和用户体验的监测、优化,提高企业IT应用的可靠性和质量。
旨在确保最终用户获得高质量的体验,降低IT总拥有成本(TCO)

TCO (Total Cost of Ownership ),即总拥有成本,包括产品采购到后期使用、维护的成本。 这是一种公司经常采用的技术评价标准。

### 2 .简介

目前市面的系统基本都是参考 Google 的 Dapper(大规模分布式系统的跟踪系统)来做的。
跟踪业务请求的处理过程,完成对应用系统在前后端处理、服务端调用的性能消耗跟踪,提供可视化的界面来展示对跟踪数据的分析。
通过汇聚业务系统各处理环节的实时数据,分析业务系统各事务处理的交易路径和处理时间,实现对应用的全链路性能监测。

APM工具与传统的性能监控工具的区别在于,不仅仅提供一些零散的资源监控点和指标,其主要关注在系统内部执行、系统间调用的性能瓶颈分析,这样更有利于定位到问题的具体原因。
APM致力于检测和诊断应用性能问题,从而能提供应用预期的服务水平。

#### 2.1 三大特征

- 多级应用性能监控:覆盖通讯协议1-7层,通过事务处理过程监控、模拟等手段实现端到端应用监测。
- 应用性能故障快速定位:对应用系统各个组件进行监测,迅速定位系统故障,并进行修复或提出修复建议。
- 应用性能全面优化:精确分析各组件占用系统资源的情况,并根据应用系统性能要求给出专家建议。

#### 2.2 发展历程

目前APM的发展主要经历了前面的三个阶段:
第一阶段:以网络监控基础设施为主,主要监控主机 的CPU 使用率、I/O、内存资源、网速等,主要以各类网络管理系统(NMS)和各种系统监控工具为代表。

第二阶段:以监控各种基础组件为主,随着互联网的快速发展,为了降低应用开发难度,各种基础组件(如数据库、中间件等)开始大量涌现,所以这个时期应用性能管理主要是监控和管理各种基础组件的性能。

第三阶段:以监控应用本身的性能为主, IT 运维管理的复杂度开始出现爆炸性的增长,应用性能管理的重点也开始聚焦于应用本身的性能与管理上。

第四节阶段属于正在发展的阶段:
云计算方兴未艾,而DevOps以及微服务的兴起对传统APM产生了很大的冲击,传统厂商也在做一些革新,也做一些微服务方面的尝试和云计算方面的尝试。
随着Machine Learning、AI的技术的兴起,对定位故障、定位问题,也会起到一些帮助,基于大数据的分析的手段也会有一些帮助,目前市场上正在初步尝试阶段。

2016年Gartner对APM的定义分为三个维度

- DEM-Digital experience monitoring:数字体验监控,浏览器及移动设备用户体验监控及利用主动拨测的实现的业务可用性及性能监控。
- ADTD-Application discovery, tracing and diagnostics:应用自动发现、追踪和故障诊断,自动发现应用之间的逻辑关系,自动建模、应用组件的深入监控及性能关联分析。
- AA-Application analytics:应用分析,通过机器学习,进行针对JAVA及.NET等应用的根源分析。

#### 2.3 DevOps

DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。
DevOps可以简洁的理解为“开发团队与运营团队之间更具协作性、更高效的关系”。
是两个相关趋势碰撞中出现的新术语
更多信息见:https://zh.wikipedia.org/wiki/DevOps

#### 2.4 APM 的核心思想

在应用服务各节点相互调用的时候,从中记录并传递一个应用级别的标记,这个标记可以用来关联各个服务节点之间的关系。
比如两个应用服务节点之间使用 HTTP 作为传输协议的话,那么这些标记就会被加入到 HTTP 头中。
可见如何传递这些标记是与应用服务节点之间使用的通讯协议有关的,常用的协议就相对容易加入这些内容,一些按需定制的可能就相对困难些,这一点也直接决定了实现分布式追踪系统的难度。

#### 2.5 为什么要使用APM

随着公司业务的与日俱增,各个系统也越来越复杂,服务间的调用,服务的依赖,以及分析服务的性能问题也越棘手,因此引入服务追踪系统尤为重要。
现有的APM,基本都是参考Google的Dapper的体系来做的。通过跟踪请求的处理过程,来对应用系统在前后端处理、服务端调用的性能消耗进行跟踪(每个请求的完整调用链路,收集调用链路上每个服务的性能数据),方便工程师能够快速定位问题。

#### 2.6 好的APM应满足的条件

总的来说,一个优秀的APM系统应该满足以下五个条件

- 低消耗,高效率:被跟踪的系统为跟踪所付出的系统资源代价要尽量小,现在主流的APM对于系统资源的消耗在2.5%-5%左右,但是这个数值应该越小越好,因为在大规模的分布式系统下,一个单节点的资源是无法把控的,可能是超强配置,也可能是老爷机,只跑几个小服务,但是本身性能已经十分吃紧了,如果这时候跟踪应用再一跑,很可能这个节点就挂掉了,得不偿失。
- 低侵入性,足够透明:作为跟踪系统,侵入性是不可能不存在的,关键这种侵入性要在哪个层面,如何在越底层的层面上侵入,对于开发者的感知和需要配合跟踪系统的工作就越少,如果在代码层面就需要进行侵入,那对于本身业务就比较复杂的应用来说,代码就更加冗余复杂了,也不利于开发者快节奏的开发。
- 灵活的延展性:不能随着微服务和集群规模的扩大而使分布式跟踪系统瘫痪,要能够充分考虑到未来分布式服务的规模,跟踪系统至少要在未来几年内完全吃得消。
- 跟踪数据可视化和迅速反馈:要有可视化的监控界面,从跟踪数据收集、处理到结果的展现尽量做到快速,就可以对系统的异常状况作出快速的反应
- 持续的监控: 要求分布式跟踪系统必须是7x24小时工作的,否则将难以定位到系统偶尔抖动的行为

“微服务的APM是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

微服务的APM是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

微服务的APM是什么

本篇内容介绍了“微服务的APM是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!### 1. APM?APM (Application P
2023-06-19

apm是什么

APM是Application Performance Management的缩写,是一种软件工具或解决方案,用于监测、管理和优化应用程序的性能和可用性。它提供了实时的、端到端的性能监控,帮助开发人员和运维团队识别和解决应用程序的性能问题。
2023-08-14

MASW中的APM告警指的是什么

小编今天带大家了解MASW中的APM告警指的是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“MASW中的APM告警指的是什么”的
2023-06-04

golang微服务指的是什么

这篇文章主要介绍“golang微服务指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“golang微服务指的是什么”文章能帮助大家解决问题。在golang中,微服务(或微服务架构)是一种软件架
2023-07-04

微服务是什么意思

本篇文章给大家分享的是有关微服务是什么意思,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 微服务microservice微服务是指提供单个业务功能的服务,从技术角度看就是一种小
2023-06-16

golang中什么是微服务

在golang中,微服务(或微服务架构)是一种软件架构风格(技术),它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API);每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。
2023-05-14

docker部署微服务的步骤是什么

部署微服务到Docker的步骤可以包括以下几个步骤:创建Dockerfile:编写一个Dockerfile文件,定义了构建镜像的过程,包括基础镜像、依赖安装、代码拷贝等。构建镜像:使用Docker命令构建镜像,例如使用`docker bui
2023-10-27

.Net Core微服务之EventBus的作用是什么

在.NET Core微服务架构中,EventBus(事件总线)的作用是实现微服务之间的解耦和消息传递。它允许微服务之间通过发送和订阅事件来进行通信,而不需要直接调用彼此的API或方法。EventBus可以帮助实现以下功能:1. 解耦微服务:
2023-09-21

SpringCloud微服务网关Zuul的作用是什么

这篇文章主要介绍“SpringCloud微服务网关Zuul的作用是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringCloud微服务网关Zuul的作用是什么”文章能帮助大家解决问题。网关
2023-07-02

微软免费云服务器是什么

微软免费云服务器(WindowsAzureCloudStorage)是微软公司在2013年发布的云计算服务之一,它允许企业将数据存储在互联网的多个云平台上。该服务基于微软的Azure云服务平台,包括WindowsAzure和MicrosoftAzure,可以帮助企业实现快速、灵活的云计算基础设施部署和托管。微软免费云服务器是一种云计算服务,通过使用微软云服务平台,企业可以将他们的数据存储在多个
2023-10-26

免费微软云服务器是什么

微软云服务器是微软公司开发的服务器软件产品,可以为用户提供高性能、高可靠性、高安全性以及高可扩展性的虚拟化技术支持,让用户可以按需使用资源,并享受高可靠性和高性能带来的好处,同时也可以节省成本。使用微软云服务器,可以为用户提供稳定、快速、安全可靠的服务,并支持多种云服务类型,如云存储、备份和恢复、云安全等。此外,微软云服务器还支持多种操作系统和软件,可以帮助用户轻松地迁移到不同的操作系统和软件
2023-10-26

Java微服务Nacos Config配置的方法是什么

这篇文章主要讲解了“Java微服务Nacos Config配置的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java微服务Nacos Config配置的方法是什么”吧!配置文件的
2023-07-05

深入解析:Golang 微服务的本质是什么?

Golang(即Go语言)作为一种快速、高效、易于学习的编程语言,越来越受到开发者的青睐,尤其在微服务领域中有着广泛的应用。本文将深入解析Golang 微服务的本质是什么,并提供具体的代码示例。微服务架构是一种通过将大型应用拆分成一系列小
深入解析:Golang 微服务的本质是什么?
2024-02-29

springcloud微服务打包部署的方法是什么

Spring Cloud微服务可以使用以下方法打包部署:1. Maven或Gradle构建工具:使用构建工具将微服务项目打包成可执行的JAR文件或WAR文件。可以使用Spring Boot Maven插件或Gradle插件来构建和打包项目。
springcloud微服务打包部署的方法是什么
2024-02-29

Java微服务架构的重构策略是什么

本篇内容介绍了“Java微服务架构的重构策略是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.将新功能实现为服务“挖坑法则”(The
2023-06-16

go微服务PolarisMesh服务端启动流程是什么

这篇文章主要介绍“go微服务PolarisMesh服务端启动流程是什么”,在日常操作中,相信很多人在go微服务PolarisMesh服务端启动流程是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”go微服务
2023-07-05

微云服务器繁忙是什么意思

微云服务器繁忙可能指微云服务器运行缓慢,无法提供足够的资源来处理请求,导致访问速度慢或者连接中断。为了解决这个问题,您可以尝试减少云服务器的使用数量,并增加资源的使用率;或者可以调整云服务器的资源分配策略,例如按需分配资源或者在某些情况下关闭某些资源或者减少资源的使用量。微云服务器繁忙可能会影响您的应用程序的性能,因此建议您定期备份数据,以防数据丢失。另外,您还可以考虑使用云存储服务来加快传输速度
2023-10-26

传统APM让开发者瞬间崩溃的三大问题是什么

传统APM让开发者瞬间崩溃的三大问题是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 如果你负责为企业创建或管理面向客户的应用程序,那么将有一长串需要担心的事情。比如
2023-06-04

Docker微服务的ETCD集群搭建方法是什么

这篇文章主要讲解了“Docker微服务的ETCD集群搭建方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker微服务的ETCD集群搭建方法是什么”吧!etcd是一个高可用的键值
2023-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录