java 开发微服务_适用于Java开发人员的微服务:指标

java 开发微服务

1.简介

在本部分的教程中,我们将继续探索可观测土地,并探讨其下一个基础Struts,即指标。 日志是描述性的,而度量则从测量中获得启发。

如果无法衡量,就无法改进。 - 彼得·德鲁克

指标具有多种用途。 首先,它们使您可以快速了解服务或应用程序的当前状态。 其次,度量标准可以帮助将不同应用程序,服务和/或基础架构组件在高负载或中断情况下的行为关联起来。 结果,它们可能导致更快的问题识别和瓶颈检测。 最后但并非最不重要的一点是,度量标准可以帮助主动和有效地缓解潜在问题,将它们发展成严重问题或广泛停机的风险降到最低。

还有更多。 指标最有价值的属性之一就是能够捕获总体系统性能特征,从而建立比较和趋势基线。 在持续集成和交付实践的支持下,它们有助于在潜入生产之前尽早检测出任何不良回归。

听起来确实很有用,但是我们的系统需要什么样的指标? 我们如何检测我们的应用程序和服务? 我们到底应该测量什么? 这些是我们将在本部分教程中尝试解决的难题。

2.仪器,收集,可视化(和警报)

度量标准并非一无是处,应该对应用程序和/或服务进行检测,以揭示相关见解。 幸运的是,JVM生态系统在这里蓬勃发展,这里有一些出色的工具库(特别是MicrometerDropwizard Metrics ),并且大多数广泛使用的框架都具有现成的集成,其中至少有一个是集成的。

暴露后,需要收集(推或刮)度量并将其保留在某个地方,以便提供随时间推移和汇总的历史趋势。 通常,这可以通过使用时间序列数据库之一来实现。

专门建立了一个时间序列数据库,用于处理带有时间戳的指标和事件或度量。 TSDB已针对测量随时间的变化进行了优化。 使时间序列数据与其他数据工作负载有很大不同的属性是数据生命周期管理,摘要和许多记录的大范围扫描。 https://www.influxdata.com/time-series-database/

指标生命周期的最后阶段是可视化,通常是通过使用图表/图形,表格,热图等通过预建的仪表板进行的。从操作的角度来看,这当然是有用的,但指标的真正价值是为实时警报:能够监视趋势并主动通知异常或新出现的问题。 对于现实生产系统而言,它至关重要,因此我们将在本教程的整个部分中专门讨论警报。

3.运营vs应用vs商业

可以收集并采取大量措施。 大致可以将它们分为三类:运营指标,应用程序指标和业务指标。

放眼来看,让我们专注于JCG租车平台,该平台由多个基于HTTP微服务 ,数据存储和消息代理组成。 这些组件可能在某种虚拟或物理主机上运行,​​很可能在容器内部。 至少,我们希望在每一层上收集有关CPU,内存,磁盘I / O和网络利用率的指标。

对于基于HTTP微服务 ,我们至少要注意以下几点:

  1. 每秒请求数(RPS) 。 这是一个核心指标,指示有多少请求正在通过应用程序或服务传输。
  2. 响应时间 。 另一个核心指标显示了应用程序或服务响应请求所花费的时间。
  3. 错误 。 此度量标准指示错误的应用程序或服务响应的速率。 对于HTTP协议,我们对5xx错误(服务器端错误)最感兴趣,但是实际上也不应该忽略4xx错误。

这些是操作指标的典型示例,公平地说,有数百个指标。 有些简单明了,有些则不然。 例如,考虑到其体系结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值