前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务调用链监控开源工具CAT

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

作者头像
JavaEdge
发布2021-02-23 15:18:44
1.1K0
发布2021-02-23 15:18:44
举报
文章被收录于专栏:JavaEdgeJavaEdge

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

2 为何需要调用链监控?

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

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

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

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

最后谁都查不出问题,全部甩锅网络问题~ 可能出错的事总会出错!!!(墨菲定律) 微服务需要应用监控!!!

4 DevOps 实践

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

5 Open Tracing

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

监控演进史

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

开源产品对比

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

参考

  • https://github.com/spring2go/cat_lab/blob/master/ppt/%E5%BE%AE%E6%9C%8D%E5%8A%A1%E8%B0%83%E7%94%A8%E9%93%BE%E7%9B%91%E6%8E%A7CAT%E6%9E%B6%E6%9E%84%E5%92%8C%E5%AE%9E%E8%B7%B5.pdf
  • https://zh.wikipedia.org/wiki/%E5%BA%B7%E5%A8%81%E5%AE%9A%E5%BE%8B
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 监控在微服务架构的地位
  • 2 为何需要调用链监控?
  • 3 没有应用监控可能带来的坑点
  • 4 DevOps 实践
  • 5 Open Tracing
  • 监控演进史
  • 开源产品对比
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档