《分布式服务架构原理设计与实战》第5章调用链笔记

基于调用链的服务治理系统的设计与实现


APM:应用性能管理


每一个节点都是一个Span,HTTP协议头添加唯一TraceID,以及调用层次和顺序的SpanID和ParentSpanID。出现故障时,通过TraceID把一整条调用链的所有调用信息收集到一个集合,通过SpanID和ParentSpanID回复调用树。


调用链结构
1. 采集器。从业务系统采集远程服务调用信息,给处理器。
2. 处理器。聚合调用链,存储在分布式存储中。分析,监控调用链。
3. 分布式存储系统


如何传递TraceID和SpanID
1. Java进程内, ThreadLocal
2. 服务之间。如果是RESTful,使用HTTP头。如果是RPC,在序列化协议添加定制化字段。
3. 主子线程间(异步)。放在子线程的ThreadLocal
4. 消息队列传递。将TraceID和SpanID增加到消息报文中。
5. 缓存数据库访问。


采集器的实现方法
1. 应用层主动推送
2. AOP推送
3. JavaAgent字节码增强
4. 代理推送
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值