返回
微盟:以链路追踪系统构建业务可观测性
后端
2023-12-16 12:43:51
引言
微盟作为一家有复杂业务场景的 SaaS 公司,拥有着多套复杂的微服务系统,从业务拆分上,既有自己的微服务集群,也有通过微盟云面向租户的微服务集群。从架构上既有多集群,又有多区域。微盟之前使用的是 Jaeger 来做链路追踪,但随着业务的快速发展,Jaeger 已经无法满足微盟的需求。因此,微盟决定引入一个新的链路追踪系统来满足业务需求。
选型考虑
在选型新的链路追踪系统时,微盟主要考虑了以下几个因素:
- 性能: 系统必须能够处理大规模的链路追踪数据,并且能够在高并发的情况下保持稳定。
- 可扩展性: 系统必须能够随着微盟业务的增长而扩展,并且能够支持多集群、多区域的部署。
- 易用性: 系统必须易于使用和管理,以便微盟的开发人员能够快速地上手。
- 成本: 系统必须具有成本效益,以便微盟能够负担得起。
落地实践
经过仔细的评估,微盟最终选择了 Zipkin 作为新的链路追踪系统。Zipkin 是一个开源的、分布式的链路追踪系统,它具有性能好、可扩展性强、易于使用和成本效益高等优点。
微盟在落地 Zipkin 时,主要做了以下几件事:
- 部署 Zipkin: 微盟将 Zipkin 部署在 Kubernetes 集群上,并使用 Helm Chart 来管理 Zipkin 的部署。
- 集成 Zipkin: 微盟将 Zipkin 集成了微盟的微服务系统,以便微盟的微服务能够将链路追踪数据发送到 Zipkin。
- 配置 Zipkin: 微盟配置了 Zipkin 的相关参数,以便 Zipkin 能够满足微盟的需求。
- 使用 Zipkin: 微盟的开发人员可以使用 Zipkin 来分析链路追踪数据,以便他们能够快速地定位和解决问题。
落地效果
微盟在落地 Zipkin 后,获得了以下几个方面的收益:
- 性能分析: 微盟可以使用 Zipkin 来分析微服务系统的性能,以便他们能够找到微服务系统中的性能瓶颈。
- 故障诊断: 微盟可以使用 Zipkin 来诊断微服务系统中的故障,以便他们能够快速地定位和解决故障。
- 架构优化: 微盟可以使用 Zipkin 来分析微服务系统的架构,以便他们能够发现微服务系统中的架构问题。
- 成本节省: 微盟在使用 Zipkin 后,节省了大量的成本。
未来规划
微盟计划在未来继续优化 Zipkin 的使用,并探索 Zipkin 的更多功能。微盟还计划将 Zipkin 集成到微盟的云平台上,以便微盟的客户能够使用 Zipkin 来分析他们的微服务系统。
结语
微盟在链路追踪系统上的实践取得了良好的效果。微盟通过使用 Zipkin,获得了性能分析、故障诊断、架构优化和成本节省等方面的收益。微盟计划在未来继续优化 Zipkin 的使用,并探索 Zipkin 的更多功能。微盟还计划将 Zipkin 集成到微盟的云平台上,以便微盟的客户能够使用 Zipkin 来分析他们的微服务系统。