从 0 开始学微服务
胡忠想
微博技术专家
63927 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 43 讲
开篇词 (1讲)
结束语 (1讲)
从 0 开始学微服务
15
15
1.0x
00:00/00:00
登录|注册

08 | 如何追踪微服务调用?

在微服务架构下,由于进行了服务拆分,一次请求往往需要涉及多个服务,每个服务可能是由不同的团队开发,使用了不同的编程语言,还有可能部署在不同的机器上,分布在不同的数据中心。
下面这张图描述了用户访问微博首页,一次请求所涉及的服务(这张图仅作为示意,实际上可能远远比这张图还要复杂),你可以想象如果这次请求失败了,要想查清楚到底是哪个应用导致,会是多么复杂的一件事情。
如果有一个系统,可以跟踪记录一次用户请求都发起了哪些调用,经过哪些服务处理,并且记录每一次调用所涉及的服务的详细信息,这时候如果发生调用失败,你就可以通过这个日志快速定位是在哪个环节出了问题,这个系统就是今天我要讲解的服务追踪系统

服务追踪的作用

在介绍追踪原理与实现之前,我们先来看看服务追踪的作用。除了刚才说的能够快速定位请求失败的原因以外,我这里再列出四点,它们可以帮你在微服务改造过程中解决不少问题。
第一,优化系统瓶颈。
通过记录调用经过的每一条链路上的耗时,我们能快速定位整个系统的瓶颈点在哪里。比如你访问微博首页发现很慢,肯定是由于某种原因造成的,有可能是运营商网络延迟,有可能是网关系统异常,有可能是某个服务异常,还有可能是缓存或者数据库异常。通过服务追踪,可以从全局视角上去观察,找出整个系统的瓶颈点所在,然后做出针对性的优化。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学微服务》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(38)

  • 最新
  • 精选
  • Realm
    1 监控是若干个局部,单独采集、分析、展示;追踪是全局视角,有链的上下游传递的概念,通过某个id串联相关的监控; 2 诊断故障一般从链上分析出现问题的点,然后定位到点上的监控数据,看具体原因;

    作者回复: 嗯

    33
  • 要是结合docker,不用侵入式的追踪系统就完美了

    作者回复: mesh思路可以

    17
  • 楼下小黑哥
    相同: 1.整个流程一致。 不同: 数据采集维度不一样。监控采集单个服务或整个业务详细业务数据,而追踪系统采集是调用链路过程中调用埋点数据即非业务数据。

    作者回复: 对的

    10
  • kane
    我们团队当前也有这个痛点,我们的解决办法是:1.在调用链的源头生成TraceID,每个微服务在处理请求的时候将相关信息打印到日志文件2.通过ELK进行日志收集,可以在elk里进行traceid的检索。这样每次检索就把一次调用处理的所有日志都显示出来,提高问题定位的效率。对于老师讲的内容主要有两个问题,1.日志主动上报,会不会对微服务的资源有比较大的消耗呢?特别是比较频繁的调用处理。2.服务调用的耗时怎么计算的,没太看懂。

    作者回复: 主动上报采用udp方式对性能影响可以接受,另外服务调用的耗时也可以靠上报调用耗时来统计

    6
  • 回复何磊“日志上报的阶段是不是在rpc的四个过程中都应该上报?比如在ss阶段,由于服务端挂了,没有响应数据。那么这次rpc调用就无法查询了?” 服务端挂了,客户端会收到异常,还是可以在cr阶段上报

    作者回复: 对,客户端等到超时或者异常,就会记录下错误上报

    4
  • 九斤鱼
    这么频繁的上报,怎么避免影响性能呢?

    作者回复: 可以设置采样率

    1
  • 铂金小猪
    链路不是http呢?

    作者回复: 也可以的,就是埋点采集的代码不同

    1
  • 🍀 🍀 🍀 🐼
    微服务之间是否允许或者不允许互相调用呢

    作者回复: 一般都可以相互调用

  • Mac Kwan
    胡老师,这些跟踪系统有哪些是能供我们使用的呢?

    作者回复: 专栏后面有个章节会对比选型

  • 实时备理生成链路图,离线处理生成拓扑图?

    作者回复: 都可以实时生成

收起评论
显示
设置
留言
38
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部