微服务开发下篇:日志、链路追踪、监控

随着微服务架构的流行,可观测性(Observability)的理念也逐渐升温。

可观测性是一个源于控制论的概念,映射到微服务架构中,主要指三个方面:

  • 日志:微服务的进程产生日志,分散在各处,系统需要收集、归拢日志,并提供统一的日志查询、分析功能。

  • 链路追踪:微服务调用关系错综复杂,如果某一个微服务发生故障,很有可能是来源上有的调用挂掉。通过链路追踪,可以轻松的定位和发现问题。

  • 监控:监控系统收集物理机、微服务的各类指标(Metrics),从而反应系统运行情况。更进一步,可以通过图表的方式,可视化地展示需求。

本章,我们将围绕上述三点展开:

  • 基于ElasticSearch + FileBeats + Kafka + FileBeats + Kibana的日志平台

  • 基于SkyWalking的链路追踪系统

  • 基于VictorialMetrics + Grafana的监控系统

经过本章的实战,微服务架构的可观测性将得到明显提升。