在容器中发布微服务,对微服务链路可视化,目前有两种方式:
1、通过埋设探针对微服务各个服务进行监控与数据收集,简单、易上手。
2、通过旁路探测的方式对请求服务进行监控,复杂、工作量大。
下面介绍通过探针的方式对微服务进行链路监测与可视化,目前市场上开源框架基本都是从openAPM框架演化而来,如:Zipkin、SkyWalking、 Pinpoint、ElasticAPM、CAT等。
目前市面上比较流行SkyWalking、Zipkin、Pinpoint这个比较主流,功能比较完善,支持分布式跟踪、监控、各种性能指标,与周边其他开源项目融合比较紧密,接口完善、数据打通、支持可视化展示与扩展接口。
全链路监控可视化解决哪些问题:
• 请求链路追踪:通过分析服务调用关系,绘制运行时拓扑信息,可视化展示。
• 调用情况衡量:各个调用环节的性能分析,例如吞吐量、响应时间、错误次数。
• 容器规划参考:扩容/缩容、服务降级、流量控制。
• 运行情况反馈:告警,通过调用链结合业务日志快速定位错误信息。
优势:APM工具对代码侵入性比较小或无侵入的集成到现有微服务当中,减少开发人员工作负担与透明接口。