阿里云云原生微服务可观测实践

简介:如果说监控可以告诉我们系统出问题了,那么可观测就可以告诉我们系统哪里出问题了,什么原因导致的问题。可观测不但可以判断系统是否正常,还可以在系统出现问题之前,主动发现系统风险。

作者:十眠、水彧

可观测介绍

彼得·德鲁克曾经说过:“如果你无法量化它,你就无法管理它。” 可观测性(Observability)是帮助微服务稳健运行的重要一环。“我们的系统是否还是正常的?”,“终端用户的体验是否符合预期?”,“我们如何在系统快要出问题之前主动发现系统的风险?”。如果说监控可以告诉我们系统出问题了,那么可观测就可以告诉我们系统哪里出问题了,什么原因导致的问题。可观测不但可以判断系统是否正常,还可以在系统出现问题之前,主动发现系统风险。

从系统的角度来讲,监控以 Ops 为主,聚焦在发现,确保系统稳定性。可观测性的目标是白盒化,注重 Recall+Precision,贯穿 Dev/Tester/Ops 等环节,通过多种观测手段,确保找到根因,防患于未然。

云原生下微服务应用可观测的挑战

目前,常见的微服务框架包括 Spring Cloud 和 Dubbo 等多语言微服务,并具备服务注册发现、服务配置、负载均衡、API 网关、分布式微服务等基本能力。其中,服务治理包括无损下线,服务容错,服务路由等能力。可观测性包括应用监控,链路追踪,日志管理,应用诊断等。

随着云原生到来,微服务架构得到越来越多的应用。由最初以机器为核心的云服务器 ECS 上云,到以容器为核心的容器化云原生部署;为了更加敏捷,阿里云开始以应用为核心的微服务化。如今,当微服务发展到一定应用规模,阿里云开始围绕业务核心,以提效稳定为目的的服务治理。

在云原生下的微服务可观测主要面临三个挑战:

  • 发现难

从云服务器 ECS 到 Kubernetes,微服务架构复杂度提升,观测对象复杂度提升,监测数据覆盖不全。

  • 定位难

随着多种治理能力深入,可观测要求高,服务框架复杂度增加,技术门槛提升,数据本身复杂度提升,数据关联性差。

  • 协作差

随着组织角色变化,可观测不只是运维工作。

应用实时监控服务 ARMS 作为阿里云可观测产品,支持自动检测部分产品问题。目前已经覆盖五十多个故障场景,包括应用变更、大请求、QPS 突增等,诊断报告认可率高达 80%。

如下图所示,线上 7%的应用都在 Dubbo 的 RPC 上耗时,并由于埋点问题,无法定位出根因。

阿里云在为客户服务过程中,发现了很多问题。

  • 服务发现

当前一些监测工具无法实现服务框架服务发现层面的问题诊断,导致遗留了许多服务调用问题难以排查,单看监控使得客户根本无从下手。因此,我们希望通过提供以下方面服务发现监控诊断能力,帮助客户及时排查服务发现领域出现问题导致的应用运行异常。

(1)监控客户端出现 no provider 问题;

(2)微服务应用连接的是哪个注册中心,服务发现链路调用示例图,大块内容有 Provider、Consumer、注册中心,点击对应组件可以看到详细相关地址;

(3)应用服务是否注册成功;

(4)应用最近一次拉下来的地址数量 & 内容;

(5)应用与注册中心的心跳是否健康;

(6)注册中心状态信息,如 CPU、内存等运行硬件状态信息,注册服务数目、订阅服务数以及服务内容等信息。

  • 微服务生命周期

微服务启动慢,一个服务器花 3 分钟,5 个服务器花 30 分钟。我们希望应用启动过程中,从 Spring bean 加载、链接池连接的监测、微服务的服务注册、Kubernetes 的监测检查就绪;应用下线过程中,服务注册、在途请求的停止、定时任务/MQ 等取消、服务停机;例如:Spring bean 初始化异常,卡在哪个 bean 的加载上,哪个 bean 初始化耗时特别长。帮助用户分析启动慢的原因,自动给出修复建议。然而,目前整体过程是缺少相关观测能力。

  • 调用链路

Consumer 调用超时、Provider 却快速返回。

除此之外,还有微服务配置混乱,不好梳理;微服务应用上 Kubernetes 之后,出现线程池满,却找不到原因等一系列问题。

那么,当站在微服务视角思考如何进行体系建设时,我们提出的微服务可观测性增强解决方案。站在传统监测方案之上还能再做哪些事情?

微服务场景下可观测的探索与实践

微服务可观测增强解决了什么问题

一句话概括就是:全面增强微服务场景下的可观测能力。

让一线运维人员具备微服务诊断基本能力,可以排查 80% 的微服务常见问题,快速进行性能分析诊断。

ARMS 微服务可观测增强方案回答了以下问题:

  • 为什么服务启动很慢

从 Pod 创建到应用初始化再到服务注册应用启动,端到端分析出应用启动慢的根因,补齐应用启动生命周期的可观测能力;

  • 依赖是否存在隐患

为 SpringCloud/Dubbo 依赖的 Jar 包进行分析,定位是否存在 Jar 包依赖冲突等问题;

  • 配置分析

微服务场景下配置分散且冗余,提供应用运行时配置可观测能力以及配置优化的专家经验;

  • Dubbo 调用链增强

覆盖寻址,序列化,网络等阶段的埋点,一眼看出 Dubbo 调用的时间都去哪儿了。

为什么服务启动慢?通过从 Pod 创建到应用初始化再到服务注册应用启动,端到端分析出应用启动慢的根因,补齐应用启动生命周期的可观测能力。

通过将整个流程串联,实时观察到每个点的耗时,可观测视图把问题剖析出来。上图是 ARMS 容器启动分析功能。左边是服务启动,系统将启动过程中的每一块时间拆分出来,从而清晰看到微服务启动慢在了哪一步,增强了其可观测性。

微服务引擎提供了无损上线的能力。控制台动态配置,实时无损上下线可观测视图,完整解决方案无需改一行代码。在微服务启动的全流程进行各种方案的保护与治理:预建连接阶段通过提前异步创建连接保证不会阻塞在连接建立的过程中;服务注册发现阶段通过并行注册与订阅能力进一步提升应用的启动速度;在小流量预热阶段通过调整客户端的负载均衡能力保证新起的实例中流量缓慢增长。

由于微服务配置的覆盖关系较为复杂,需要进行配置分析。

上图为 Dubbo 官方提供的配置覆盖关系,可以看到其具有一定顺序先后性。很多时候很难判断配置是否配错地方,是否生效,是否被覆盖。微服务场景下配置分散且冗余,我们提供应用运行时配置可观测能力以及配置优化的专家经验。

我们提供了为 SpringCloud/Dubbo 依赖的 Jar 包进行分析的能力,帮助定位是否存在 Jar 包依赖冲突、依赖的 Jar 是否存在安全、性能风险等问题。

一次 RPC 调用时间到底去哪儿了?一次 RPC 调用有路由、限流降级、序列化、网络等各个环节。从客户端来讲,需要经过路由、filter、invoker、serialize、remote。从服务端来讲,需要经过 serialize、Proxy Invoke、filter、impleme。

上图是一次 RPC 调用流程图。其中包括寻址、负载均衡的建立连接时间,打包的序列化时间,解包的返印值反序列化时间,服务端处理时间和等待服务端处理返回的时间。

如上则是我们给出的答案,将调用链在 RPC 框架内进一步细分,一眼看出路由、序列化、网络、代理、服务端处理等耗时的细节。

总结

微服务可观测增强方案站在传统的可观测性方案之上我们进一步从微服务的视角出发,扩展传统可观测覆盖的 Tracing、Logging、Metrics 等数据,结合微服务专家的诊断经验。

从前端、应用至底层机器,应用实时监控服务 ARMS 实时监测应用服务的每次运行、每个慢 SQL、每个异常。与此同时,提供完整数据大盘监控,展示请求量、响应时间、 FullGC 次数、慢 SQL 和异常次数、应用间调用次数与耗时等重要的关键指标,时刻了解应用程序的运行状况,确保向用户提供最优使用体验。

阿里云微服务引擎 MSE 全新升级,在治理中心 MSE 提升了微服务开发效率和稳定性。支持近 5 年 Spring Cloud 和 Dubbo 应用,及多语言异构微服务体系。提供无损上下线、全链路灰度、离群实例摘除、服务鉴权、等差异化能力。在注册配置中心,MSE 拥有全托管 Zookeeper/Nacos/Eureka 服务。默认高可用:多可用区部署、自动探活。配置鉴权,加密和灰度发布。在云原生网关方面,MSE 集成监控告警、链路追踪、限流降级、证书管理。流量网关于微服务网关二合一,成本下降 50%。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511159.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“合”而不同,持“智”以恒,幂律智能2022产品升级发布会全程回顾!

今天,“合”而不同,持“智”以恒,幂律智能2022产品升级发布会正式和大家见面。 发布会共分为「嘉宾致辞」、「产品分享」、「客户实例」等部分,多位行业专家、学者大咖等纷纷发来视频,表达对幂律本次活动的祝愿。 清华…

EMR StarRocks 极速数据湖分析原理解析

简介:数据湖概念日益火热,本文由阿里云开源大数据 OLAP 团队和 StarRocks 数据湖分析团队共同为大家介绍“ StarRocks 极速数据湖分析 ”背后的原理。 【首月99元】EMR StarRocks 数据湖极速分析体验,试用火热进行中,快来申请吧 -…

图解 React 的 diff 算法:核心就两个字 —— 复用

React 是基于 vdom 的前端框架,组件 render 产生 vdom,然后渲染器把 vdom 渲染出来。state 更新的时候,组件会重新 render,产生新的 vdom,在浏览器平台下,为了减少 dom 的创建,React 会对两次的…

基于Confluent+Flink的实时数据分析最佳实践

简介:在实际业务使用中,需要经常实时做一些数据分析,包括实时PV和UV展示,实时销售数据,实时店铺UV以及实时推荐系统等,基于此类需求,Confluent实时计算Flink版是一个高效的方案。 业务背景 在…

深度解读「无影云电脑远程办公解决方案」

简介:疫情常态化,企业如何应对「远程」带来的挑战? 疫情之下,很多企业选择远程办公来保证业务的正常运营,而远程办公解决方案需要具备哪些技术能力来应对“远程”带来的挑战呢? 一,弹性伸缩能…

疯了?黑客公开“25美元入侵星链”法,SpaceX给他钱,还诚邀大家一起来“黑”?...

整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近日,国外论坛 Reddit 上的一则热帖给人看“懵”了:SpaceX 诚邀大家来入侵自家的星链(Starlink),成功者有赏。这令人不由感慨:居然…

车脉科技:业内首创“车企体验式营销”

随着新能源汽车不断得到人们的广泛关注,车企在新车型、新市场、新认知下如何提升销量以及用户如何选购一款合心意的智能电动车成为新能源智能时代的汽车营销难题。 车脉科技创业初衷 车脉科技的创始人孙泽锋说道:“创立车脉的初衷,我们一端想…

专访香侬科技:致力于让世界听到中文NLP的声音

像所有的创业者一样,香侬科技的初创团队胸怀梦想,期待有一天当人们提起香侬的时候,除了“信息论之父”,还能想起来有一家用技术在链接大千世界的科技公司——香侬科技。 新生的香侬科技选择“长在云上” 香侬科技的CTO王思宽说起…

驭数有道,天翼云数据库 TeleDB 全新升级

8月16日,以“红云天翼 安全普惠”为主题的天翼云TeleDB系列产品升级发布会在线上顺利举办。此次发布的天翼云自主研发云原生数据库进行了全新升级,推出一站式HTAP融合数据库,以及TeleDB数据库容灾双活方案,同时也展示了TeleDB数据…

如何构建一个流量无损的在线应用架构 | 专题尾篇

简介:我们将这些年在每一个环节中的相应解决方案,以产品化的方式沉淀到企业级分布式应用服务(EDAS)中。EDAS 致力于解决在线应用的全流程流量无损,经过 6 年的精细打磨,已经在流量接入与流量服务两个关键位…

云原生微服务技术趋势解读

简介:随着微服务技术门槛大幅下降,随着企业数字化升级步伐加速,随着云计算的迅速发展,微服务将无处不在;随着行业成熟度逐步提升,随着开源和标准推进,微服务的标准逐步形成,标准形成…

中国信通院魏博锴:云原生混部标准解读

嘉宾 | 魏博锴出品 | CSDN云原生2022年7月28日,中国信通院、腾讯云、FinOps产业标准工作组联合发起的《原动力x云原生正发声 降本增效大讲堂》系列直播活动第4讲如期举行,中国信通院云大所云计算部云原生研究员魏博锴解读了云原生混部标准。本文整理自魏…

从平凡到非凡 阿里云李克的技术进阶之路

简介:人物简介:李克 阿里云边缘云计算领域技术负责人 2009年硕士毕业加入阿里至今,一直从事CDN及边缘云领域的技术研发工作,在CDN、边缘计算等方向上有丰富的行业经验,全程参与了阿里云CDN商业化转型,边缘云…

一文搞懂redis

简介:NoSQL泛指非关系型数据库,随着web2.0互联网的诞生,传统的关系型数据库很难对付web2.0大数据时代!尤其是超大规模的高并发的社区,暴露出来很多难以克服的问题,NoSQL在当今大数据环境下发展的十分迅速&a…

热搜!华为 30 岁以下员工仅占 28%,网友:35 岁危机呢?

整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)一直以来,程序员的“35 岁”都是圈内的热议话题:35 岁是程序员的职业终结点、程序员到 35 岁就废了、超过 35 岁的程序员容易被裁……久而久之,35 岁逐渐变成了一个很…

阿里云发布业界首本《云计算公网质量白皮书》

随着互联网的发展,网络已经融入了整个社会发展的进程,如同血液贯通人类文明的五脏六腑。一旦网络出现故障,将给社会的政治、经济、文化造成重大损失。 2021年10月4日,Facebook在地球上”消失”了6小时,市值跌掉3000亿…

选轻量应用服务器or云服务器ECS?一图帮你彻底区分

简介:轻量应用服务器适合轻量级且访问量低的应用场景,更适合个人开发者、对新手小白更友好;而云服务器ECS可覆盖全业务场景(如大数据分析,深度学习等),要求用户有一定的开发技术能力。 本文首发…

宜搭小技巧|一招摆脱纸质表单,数据收集更便捷

简介:开启「应用公开访问」,组织外成员也可提交数据。 许多公司在前台都会准备一个访客登记表,供来访者填写。但如果来访者数量较多,就会出现这样的问题…… 提供纸质表单供访客填写信息,使用起来繁琐且费时&#xff…

如何用 Serverless 低成本打造个人专属网盘?

简介:想要做个网盘不知如何开始,不妨花3分钟读读这篇,看看如何借助 Serverless ,低成本的做一个“不限制网速、无限扩展、同时支持数百种文件格式在线预览、编辑、协作”的专属个人 & 家庭网盘~ 前言 随着全球大数据不断增长…

云之后,亚马逊云科技要为业界提供水和空气一样的安全防护

云巨头亚马逊云科技,正在持续加码云安全。 编辑 | 宋慧 出品 | CSDN云计算 提到亚马逊云科技,我们首先想到的是它在云领域的计算存储等技术和优势。不过亚马逊云科技却连续四年在举办它的全球安全大会 re:Inforce,刚刚 ,2022 re:…