性能指标
问题陈述
微服务架构将应用程序构建为一组松散耦合的微服务,每个服务都可以以敏捷的方式独立开发,以实现持续交付/部署。如何分析和解决应用程序问题。如何跟踪应用程序性能并检查瓶颈。如何以最小的运行时开销跟踪多个服务?
解决方案
我们可以实现一个仪器服务,该服务将负责收集有关各个操作的统计数据,以及一个中央指标服务,该服务应该聚合指标并提供报告和警报。这些服务可以通过两种方式收集性能指标 -
推送- 服务将指标推送到中央指标服务。
Pull - 中央指标服务从服务中提取指标。
例子
以下是仪器库的示例 -
Java Metrics Library - 一个 Java 库,用于深入了解代码在生产中的作用。
Prometheus 客户端库- 用于监控服务的 Prometheus 库。
以下是指标聚合库的示例 -
Prometheus - 开源系统监控和警报工具包。
AWS Cloud Watch - AWS 资源和服务可观察性和监控服务。