微服务调用链监控开源工具CAT

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 微服务调用链监控开源工具CAT

1 监控在微服务架构的地位

image.png

2 为何需要调用链监控?

  • 在初期的单体应用,应用都打在一个包中,无分布式概念,监控也只需对一些埋点监控。

image.png

但是微服务时代下,很多服务在各自的包,一旦出现问题,没有调用链监控就很难定位问题!

3 没有应用监控可能带来的坑点

  • 线上发布了服务,怎么知道一切正常?
  • 大量报错,到底哪里产生的,谁才是根因?
  • 人工配置错误,上线前通宵排错,结婚了还得来修 bug!
  • 应用程序有性能问题,怎么尽早发现问题?
  • 数据库问题,在出问题之前能洞察吗?


最后谁都查不出问题,全部甩锅网络问题~

可能出错的事总会出错!!!(墨菲定律)
微服务需要应用监控!!!

4 DevOps 实践

  1. 要提升先测量
    开尔文曾经曰过:If you can’t measure it, you can’t improve it.
    知道系统的当前性能指标,才知道该如何优化。
  2. 研发自主监控所负责的系统

5 Open Tracing

为了这些监控软件而规范,支持很多语言无缝切换。

image.png

监控演进史

eBay的老员工跳槽到点评后开发了 CAT。

image.png

开源产品对比

image.png

image.png

image.png

调用链监控主要适用于同步场景。异步调用一般不建议,因为异步多线程没有明确调用先后时序关系。实际有些场景(比如异步消息追踪)确实需要的话,也是可以做到的,原理就是在跨越线程边界的时候(类似跨越进程边界),需要把trace上下文向异步线程传递,具体做法一般需要定制。Skywalking的异步支持做的比较好,它提供的一些plugin有些已经支持异步追踪,如果你理解原理,也可以自己实现埋点,参考:

https://github.com/apache/skywalking/blob/master/docs/en/setup/service-agent/java-agent/Application-toolkit-trace-cross-thread.md


参考



目录
相关文章
|
6月前
|
运维 监控 数据可视化
ARMS的微服务监控
【8月更文挑战第23天】
100 6
|
9月前
|
关系型数据库 分布式数据库 数据库
【PolarDB开源】PolarDB与微服务架构的融合:灵活扩展与高效管理
【5月更文挑战第23天】阿里云PolarDB是适用于微服务的高性能分布式数据库,提供数据分片、水平扩展及高可用性解决方案。通过SQL或API实现弹性扩展,内置故障转移保障服务连续性,且兼容MySQL协议,易于集成微服务生态。通过Spring Boot示例展示了PolarDB的配置与集成过程,强调其在现代云原生应用中的重要角色。
199 1
|
2月前
|
Prometheus 监控 Java
如何全面监控所有的 Spring Boot 微服务
如何全面监控所有的 Spring Boot 微服务
129 3
|
2月前
|
监控 Java Sentinel
Hystrix 与 Sentinel 大比拼:微服务稳定性工具谁更优?
Hystrix 和 Sentinel 是用于微服务架构中保护服务稳定性和可靠性的工具,主要实现服务熔断、限流、降级等功能。Hystrix 侧重于熔断器模式和服务隔离,通过线程池或信号量隔离服务,防止故障扩散;Sentinel 则更全面,涵盖流量控制、熔断降级和系统自适应保护,适用于高并发场景,并提供实时监控和灵活的策略调整。两者设计理念不同,Hystrix 适合中小规模应用,而 Sentinel 更适合大规模高并发系统。
51 0
|
3月前
|
监控 负载均衡 Java
微服务架构下的服务治理与监控
微服务架构下的服务治理与监控
213 0
|
3月前
|
存储 监控 负载均衡
构建高效微服务架构:服务治理与监控的实践
构建高效微服务架构:服务治理与监控的实践
|
4月前
|
监控 Java 对象存储
监控与追踪:如何利用Spring Cloud Sleuth和Netflix OSS工具进行微服务调试
监控与追踪:如何利用Spring Cloud Sleuth和Netflix OSS工具进行微服务调试
76 1
|
6月前
|
安全 数据可视化 数据安全/隐私保护
【Azure 微服务】新创建的Service Fabric集群,如何从本地机器上连接到Service Fabric Explorer(Service Fabric状态/错误查看工具)呢?
【Azure 微服务】新创建的Service Fabric集群,如何从本地机器上连接到Service Fabric Explorer(Service Fabric状态/错误查看工具)呢?
【Azure 微服务】新创建的Service Fabric集群,如何从本地机器上连接到Service Fabric Explorer(Service Fabric状态/错误查看工具)呢?
|
6月前
|
负载均衡 监控 Java
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
SpringCloud常见面试题(一):SpringCloud 5大组件,服务注册和发现,nacos与eureka区别,服务雪崩、服务熔断、服务降级,微服务监控
|
6月前
|
Prometheus 监控 Cloud Native
使用Prometheus搞定微服务监控
使用Prometheus搞定微服务监控
使用Prometheus搞定微服务监控