mini商城第19章 服务链路追踪
一、课题
服务链路追踪
二、回顾
1、ELK简介及部署
2、项目集成logstash收集日志
三、目标
1、理解服务链路追踪的概念及作用
2、掌握Zipkin的部署及Zipkin和ElasticSearch整合
3、项目集成Sleuth
四、内容
第1章 服务链路追踪简介
不知道有没有同学仔细注意过,在我们msd-mall系统中,我们将系统拆成了很多个微服务,在前面几篇文章中,我们贴出来了一些业务功能的实现,但是在实现过程中,可能会涉及到多个服务的调用,一旦一个功能在服务之间调过来调过去,总会让人很头晕,如果某天你写的某些功能还出了bug,那更加烦躁,都不知道调了多少个方法,跨了多少个服务。这还只是比较直观的问题,归纳一下就是一下四个思考:
-
如何快速发现问题?
-
如何判断故障影响范围?
-
如何梳理服务依赖以及依赖的合理性?
-
如何分析链路性能问题以及实时容量规划?
怎么解决上面这些乱七八糟的问题呢?分布式链路追踪(Distributed Tracing)出现了。它的用处就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节点上的耗时、请求具体到达哪台机器上IP、每个服务节点的请求状态200 500等等。
常见的链路追踪技术有下面这些: