带你读《Apache Tomcat的云原生演进》——Web容器可观测最佳实践(3)

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
云原生网关 MSE Higress,422元/月
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 带你读《Apache Tomcat的云原生演进》——Web容器可观测最佳实践(3)

带你读《Apache Tomcat的云原生演进》——Web容器可观测最佳实践(2)https://developer.aliyun.com/article/1377522


image.png

 

Metrics的最佳实践是一定要在端侧预聚合指标。我们的指标来源于span的,对应的就是埋点统计方法的耗时。这样一个span的字段有很多,比如span name接口名、耗时以及产生的时间。我们按照15秒聚合一次,把这段时间内所有调用聚合出来,就可以得到上图的一条数据,这就是端侧预聚合的概念。

 

那么为什么要做端侧预聚合呢?有两个原因,一个是我们的指标在预聚合之后它的量很少,另外一个是预聚合之后它的数据一定是准确的。同样在一些开源产品里,它是没有指标预聚合的,它统计出来的指标都是基于采样后的span,所以它的数据是不准确的。

 

在我们做了预聚合之后,我们会在端侧采集一些指标,上图右侧列了一些我们会去采集的指标以及给这些指标加的维度。这些指标和维度话基本都是通过在阿里内部服务电商业务以及服务公共云上的用户总结下来。通过这些指标能够定位线上大多数的问题。比如请求数、请求大小、响应大小、耗时、活跃请求数、线程池的指标。关键维度我们会去记录接口名、上游接口名以及状态码。

 

在做端测指标预聚合的时候,也会有一些比较困难的点。

 

做指标的应该都会知道维度发散的问题,在端侧我们要做维度收敛。大家可以看一下上图左侧,它的spanname是一个相对来说比较发散的情况。它聚合之后从7条数据变成了4条数据,聚合效果就没那么好了。如果它是更发散的情况,它的聚合效果就会更差,且会导致数据的上报量也会很大,端服务端存储成本也比较高,所以一定要做维度收敛。

 

在Spring MVC场景下,Spring MVC会放到request attribute里面的一个base matching pattern attribute这样的key里面,这个key一定会映射到后端用户的controller上面。

 

另外,在SpringCloud Gateway的场景下,它没有base matching pattern attribute的key,所以我们会把它的收敛后置到转发请求的后面业务服务上去做收敛。业务服务会把收敛的结果通过response heater返回给SpringCloud Gateway。然后SpringCloud Gateway再把返回来的结果前面加一个固定的前缀,比如API,来保证在任意场景下,都可以把发散的url收敛成一个固定的url。

 

在统计精准指标上,就像请求数这样的指标,因为它是counter一直递增的。我们采集指标可能是15秒采集一次,如果现在要拿一分钟的精确指标,就相当于它强依赖于定时任务调度的15秒的精确度。但精确度很难保证,所以我们在做指标的时候,会去考虑按时间分桶。在预聚合指标的时候就把一个指标聚合在那个上报周期了,以此保证统计一分钟请求数量的时候,不会出现偏差。

 

在准确统计分位数上,很难有一个方案把内存占用、二次聚合、精确性这三方面都照顾的很好。经过我们的调研,DDSketch 算法可以在这三方面有一个比较好的权衡。可以得到一个比较精确的结果,内存占用也是可预期的,结果也可以进行二次聚合。

 

image.png 

 

带你读《Apache Tomcat的云原生演进》——Web容器可观测最佳实践(4)https://developer.aliyun.com/article/1377520

相关文章
|
28天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
11天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
73 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
23天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
8天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
1天前
|
监控 安全 Cloud Native
阿里云容器服务&云安全中心团队荣获信通院“云原生安全标杆案例”奖
2024年12月24日,阿里云容器服务团队与云安全中心团队获得中国信息通信研究院「云原生安全标杆案例」奖。
|
3天前
|
存储 人工智能 调度
容器服务:智算时代云原生操作系统及月之暗面Kimi、深势科技实践分享
容器技术已经发展成为云计算操作系统的关键组成部分,向下高效调度多样化异构算力,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务在2024年巴黎奥运会中提供了稳定高效的云上支持,实现了子弹时间特效等创新应用。此外,容器技术还带来了弹性、普惠的计算能力升级,如每分钟创建1万Pod和秒级CPU资源热变配,以及针对大数据与AI应用的弹性临时盘和跨可用区云盘等高性能存储解决方案。智能运维方面,推出了即时弹性节点池、智能应用弹性策略和可信赖集群托管运维等功能,进一步简化了集群管理和优化了资源利用率。
|
1天前
|
人工智能 运维 监控
容器服务Kubernetes场景下可观测体系生产级最佳实践
阿里云容器服务团队在2024年继续蝉联Gartner亚洲唯一全球领导者象限,其可观测体系是运维的核心能力之一。该体系涵盖重保运维、大规模集群稳定性、业务异常诊断等场景,特别是在AI和GPU场景下提供了全面的观测解决方案。通过Tracing、Metric和Log等技术,阿里云增强了对容器网络、存储及多集群架构的监控能力,帮助客户实现高效运维和成本优化。未来,结合AI助手,将进一步提升问题定位和解决效率,缩短MTTR,助力构建智能运维体系。
|
7天前
|
Kubernetes 安全 数据安全/隐私保护
云卓越架构:容器安全最佳实践
本次分享由阿里云智能集团解决方案架构师张玉峰主讲,主题为“云卓越架构:容器安全最佳实践”。内容涵盖容器安全的挑战、云原生容器安全架构及典型场景。首先分析了容器安全面临的问题,如镜像漏洞和权限管理。接着介绍了容器安全架构的五个维度:身份权限管理、配置安全检查、运行时防护、镜像安全检测及发布的安全管控。最后通过具体场景展示了容器身份与权限管理、密钥管理、运行时防入侵等最佳实践,强调了安全左移的重要性,确保从开发到运行的全生命周期安全覆盖。
|
23天前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
23天前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,智算时代云原生操作系统
2024云栖大会,阿里巴巴研究员易立分享了阿里云容器服务的最新进展。容器技术已成为云原生操作系统的基石,支持多样化的应用场景,如自动驾驶、AI训练等。阿里云容器服务覆盖公共云、边缘云、IDC,提供统一的基础设施,助力客户实现数字化转型和技术创新。今年,阿里云在弹性计算、网络优化、存储解决方案等方面进行了多项重要升级,进一步提升了性能和可靠性。

推荐镜像

更多