微服务开发下篇:日志、链路追踪、监控
随着微服务架构的流行,可观测性(Observability)的理念也逐渐升温。
可观测性是一个源于控制论的概念,映射到微服务架构中,主要指三个方面:
-
日志:微服务的进程产生日志,分散在各处,系统需要收集、归拢日志,并提供统一的日志查询、分析功能。
-
链路追踪:微服务调用关系错综复杂,如果某一个微服务发生故障,很有可能是来源上有的调用挂掉。通过链路追踪,可以轻松的定位和发现问题。
-
监控:监控系统收集物理机、微服务的各类指标(Metrics),从而反应系统运行情况。更进一步,可以通过图表的方式,可视化地展示需求。
本章,我们将围绕上述三点展开:
-
基于ElasticSearch + FileBeats + Kafka + FileBeats + Kibana的日志平台
-
基于SkyWalking的链路追踪系统
-
基于VictorialMetrics + Grafana的监控系统
经过本章的实战,微服务架构的可观测性将得到明显提升。