上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
推荐文章 | Article
优步分布式追踪技术再度精进
对于希望监视复杂的微服务架构系统的组织,分布式追踪正在快速成为一种不可或缺的工具。Uber工程团队的开源分布式追踪系统Jaeger自2016年起,在公司内部实现了大范围的运用,已经集成于数百个微服务中,目前每秒钟已经可以记录数千条追踪数据。新年伊始,我们想向大家介绍一下这一切是如何实现的,从我们最开始使用现成的解决方案,如Zipkin,到我们从拉取转换为推送架构的原因,以及2017年有关分布式追踪的发展计划。
从整体式到微服务架构
随着Uber的业务飞速增长,软件架构的复杂度也与日俱增。大概一年多前,2015年秋季,我们有大约500个微服务,2017年初这一数量已增长至超过2000个。这样的增幅部分是由于业务该功能的增加,例如面向用户的UberEATS和UberRUSH等功能,以及类似欺诈检测、数据挖掘、地图处理等内部功能的增加。此外随着我们从大规模整体式应用程序向着分布式微服务架构迁移,也造成了复杂度的增加。
迁移到微服务生态总是会遇到独特的挑战。例如丧失对系统的能见度,服务之间开始产生复杂的交互等。Uber工程团队很清楚,我们的技术会对大家的生活产生直接影响,系统的可靠性至关重要,但这一切都离不开“可观测性”这一前提。传统的监视工具,例如度量值和分布式日志依然发挥着自己的作用,但这类工具往往无法提供跨越不同服务的能见度。分布式追踪应运而生。