分布式链路追踪
分布式链路追踪
--赋能:链路追踪、监控、搜索,链路质量收集/可视化
--测试:可测性、测试点
--手段: 压测,业务逻辑
--技术栈:
--规划
-- 实现 故障快速定位、节点性能分析、质量数据分析
https://www.ibm.com/developerworks/cn/web/wa-distributed-systems-request-tracing/index.html
https://blog.csdn.net/u012394095/article/details/79700200
各大厂分布式链路追踪系统架构对比:
https://www.cnblogs.com/davidwang456/articles/9008893.html
分布式环境下所引发的问题,如何排查,跟踪,路径优化(强弱依赖),性能提升,了解相互间的交互,获得每一个节点的信息(监控),获取用户行为数据,分析趋势机器学习
行为数据+节点数据+可视化链路数据(指标)
- 谷歌dapper论文
- Twitter的 zipkin(链路追踪可视化功能)
- 阿里的鹰眼(Eagleeye): 日志的分布式调用跟踪,把不同系统孤立的日志串联起来,全局的唯一ID
- 京东Hydra SGM
- 新浪的watchman
- 大众cat,2014年已不维护
可否为用户提供额外服务? 便于质量的保证和业务的发展
SGM - Spring Cloud Seluth :分布式链路追踪提供解决方案,兼容了zipkin Htrace log-based
前提:
尽量无侵入
尽量不会对服务本身性能造成影响
拥有友好的可视化界面
可扩展,便接入
埋点,日志(log4j logback)
模型:
Trace调用模型:
- 术语
Trace:
Span:多span形成树结构,组合成一次Trace追踪记录
Annotation:在span中标注的点,记录整个span时间段发生的事件(sr ss cr cs)
BinaryAnnotation:用户自定义事件
SpringCloud Sleuth
https://blog.csdn.net/forezp/article/details/70162074
https://www.jianshu.com/p/5df2e83d0ef8
https://msd.misuland.com/pd/3070888491219946682 详细
https://windmt.com/2018/04/24/spring-cloud-12-sleuth-zipkin 有架构图,使用docker安装,不在单独实现server端
https://www.520mwx.com/view/64733
https://blog.csdn.net/xichenguan/article/details/77448288
https://blog.csdn.net/zhllansezhilian/article/details/83001870 sleuth原理+zipkin 详细
sleuth将信息发送给zipkin,利用zipkin的存储来存储信息,利用zipkin ui来展示数据,同时也可以是简单的将数据记在日志中
https://blog.csdn.net/apei830/article/details/78722430 zipkin收集器