电商微服务实战之服务监控(上)

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
注册配置 MSE Nacos/ZooKeeper,182元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 电商微服务实战之服务监控

监控对象

一般可分为四类:

  • 用户端监控
    业务直接对用户提供的功能的监控。以知乎首页Feed为例,它向用户提供了聚合关注的所有人的动态并按时间顺序浏览的功能,对首页Feed功能的监控就属于用户端监控
  • 接口监控
    业务提供的功能所依赖的具体RPC接口的监控。微博首页Feed例,该功能依赖于用户关注了哪些人的关系服务,每个人发过哪些微博的微博列表服务,以及每条微博具体内容是什么的内容服务,对这几个服务的调用情况的监控就属于接口监控。
  • 资源监控
    某接口依赖的资源的监控。比如关系服务中的用户关注了谁,使用Redis存储的关注列表,对Redis监控就属资源监控。
  • 基础监控
    对服务器本身的健康状况的监控。如CPU利用率、内存使用量、I/O读写量、网卡带宽等。

监控指标

请求量

请求量监控分俩维度:

  • 实时请求量
    QPS(Queries Per Second)即每秒查询次数,反映服务调用的实时变化
  • 统计请求量

     PV(Page View)即一段时间内用户访问量。比如一天PV代表服务一天的请求量,       常用来统计报表。

  • 响应时间
    可用一段时间内所有调用的平均耗时反映请求响应时间。但只代表请求的平均快慢,有时更关心慢请求的数量。需把响应时间划分多区间,比如0~10ms、10ms~50ms、50ms~100ms、100ms~500ms、>500ms,>500ms区间内请求数即代表慢请求量,正常情况下该区间内请求数应该接近0;出现问题时,区间内请求数会大幅增加,可能平均耗时并不能反映变化。

还可以P90、P95、P99、P999角度来监控请求的响应时间,比如P99 = 500ms,意思是99%的请求响应时间在500ms以内,它代表了请求的服务质量,即SLA。

错误率

一段时间内调用失败的次数占调用总次数比率,比如对于接口的错误率一般用接口返回错误码为503的比率来表示。

监控维度

  • 全局维度
    从整体角度监控对象的的请求量、平均耗时以及错误率,全局维度的监控一般是为了让你对监控对象的调用情况有个整体了解。
  • 分机房维度
    一般为了业务高可用,服务部署在不止一个机房,因不同机房地域不同,同一监控对象的各种指标可能会相差很大,需要深入机房内部探查。
  • 单机维度
  • 即使在同一机房,由于采购年份和批次不同,不同机器上的同一监控对象指标也有很大差异。一般新采购机器通常由于成本更低,配置也更高,在同等请求量的情况下,可能表现出较大的性能差异,因此也需要从单机维度去监控同一个对象。
  • 时间维度
  • 同一监控对象,在每天同一时刻各种指标通常也不一样,要么由业务变更导致,要么运营活动导致。为了解监控对象各种指标的变化,通常需要与一天前、一周前、一个月前,甚至三个月前对比。


核心维度

业务上一般会依据重要性程度对监控对象进行分级,最简单的是分成核心业务和非核心业务。核心业务和非核心业务在部署上必须隔离,分开监控,这样才能对核心业务做重点保障。

如何搭建监控系统,来完成上面这些监控功能呢?

监控系统原理

监控系统主要包括四个环节:

  • 数据采集
  • 要监控服务调用,首先要能收集到每次调用的详细信息,包括调用响应时间、调用是否成功、调用的发起者和接收者

数据传输

把数据通过传输给数据处理中心

数据处理

数据处理中心再按服务维度进行聚合,计算不同服务请求量、响应时间以及错误率等信息并存储

数据展示

最后通过接口或者Dashboard的形式对外展示服务的调用情况

1 数据采集

有如下方式:

  • 服务主动上报
    通过在业务代码或者服务框架里加入数据收集代码逻辑,在每次服务调用完成后,主动上报服务调用信息。

代理收集

通过服务调用后把调用的详细信息记录到本地日志文件,再通过代理去解析本地日志文件,最后再上报服务的调用信息。

无论哪种,首先要考虑采样率,即采集数据的频率。采样率越高,监控实时性就越高,精确度越高。但采样对系统性能也会有影响,尤其是采集后的数据需写到本地磁盘时,过高采样率会导致写入磁盘的I/O过高,影响正常服务调用。

所以设置合理采用率是关键,最好可动态控制采样率


系统较闲时,加大采样率,追求监控实时性与精确度

系统负载较高时,减小采样率,追求监控的可用性与系统的稳定性


目录
相关文章
|
3月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
563 3
|
1月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
1月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
Spring Boot 3.x 微服务架构实战指南
|
2月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
238 1
日志收集和Spring 微服务监控的最佳实践
|
3月前
|
存储 Prometheus 监控
从入门到实战:一文掌握微服务监控系统 Prometheus + Grafana
随着微服务架构的发展,系统监控变得愈发重要。本文介绍如何利用 Prometheus 和 Grafana 构建高效的监控系统,涵盖数据采集、存储、可视化与告警机制,帮助开发者提升系统可观测性,及时发现故障并优化性能。内容涵盖 Prometheus 的核心组件、数据模型及部署方案,并结合 Grafana 实现可视化监控,适合初学者和进阶开发者参考实践。
485 6
|
2月前
|
监控 Kubernetes Java
使用 New Relic APM 和 Kubernetes Metrics 监控 EKS 上的 Java 微服务
在阿里云AKS上运行Java微服务常遇性能瓶颈与OOMKilled等问题。本文教你通过New Relic实现集群与JVM双层监控,集成Helm部署、JVM代理注入、GC调优及告警仪表盘,打通从节点资源到应用内存的全链路观测,提升排障效率,保障服务稳定。
155 1
|
3月前
|
负载均衡 监控 Java
微服务稳定性三板斧:熔断、限流与负载均衡全面解析(附 Hystrix-Go 实战代码)
在微服务架构中,高可用与稳定性至关重要。本文详解熔断、限流与负载均衡三大关键技术,结合API网关与Hystrix-Go实战,帮助构建健壮、弹性的微服务系统。
392 1
微服务稳定性三板斧:熔断、限流与负载均衡全面解析(附 Hystrix-Go 实战代码)
|
4月前
|
缓存 监控 API
电商API的微服务架构优化策略
随着电商快速发展,API成为连接用户、商家与系统的核心。本文探讨微服务架构下电商API的优化策略,分析高并发、低延迟与数据一致性等挑战,并提供服务拆分、缓存异步、监控容器化等实践方案,助力构建高性能、高可用的电商系统,提升用户体验与业务效率。
116 0
|
12月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
610 6
|
12月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
281 1

热门文章

最新文章