带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(4)https://developer.aliyun.com/article/1340965?groupCode=taobaotech
Falco-关键要点
(图7 Falco关键实现)
- 端侧traceID:满足唯一性、生成快、可扩展、可读、长度短等原则生成。
- 调用&还原抽象:由traceID和span多级序列号一路透传,明确上下游关系。
- 端到端串联:核心解决云端串联的问题,端侧ID透传到服务端,服务端存放和鹰眼ID的映射关系;接入层返回鹰眼ID,端侧全链路模型存在鹰眼ID,通过这样的双向映射关系,我们能知道一个未返回的请求究竟是因为在网络阶段没有成功、还是没有到达接入层、或者是业务服务没有返回,从而将耳熟能详、粗粒度的网络问题变得可定义和可解释
- 分层度量:核心目的是让同层的不同模块具备一致的对比口径,支撑框架升级后的性能横向对比,思路为抽象客户端领域模型,如以框架类为例子,虽然框架不同,但一些关键调用和解析是一致的,因此可以抽象成为标准阶段,其它类似。
- 结构化埋点:首先采用列式存储,利于大数据集的数据聚合操作和数据压缩,减少数据量;其次,业务+场景+ 阶段沉淀到一张表中,方便关联查询。
- 基于Falco的领域问题沉淀:包括复杂问题的关键定义、追踪问题的线索型日志、某些特殊诉求的埋点。所有领域问题的信息被结构化沉淀到Falco,领域技术开发者也可以基于沉淀的领域信息持续开展分析能力的建设,只有实现数据的有效性供给和领域性解释合一,才能定义和解决更深层次的问题。
(图8 Falco领域问题模型)
基于Falco的运维实践
运维的范畴极为广泛,围绕问题发现、问题接手、定位分析、问题修复关键流程,从海量设备的指标观测、告警, 到单机排查、日志分析等,大家都知道要这么做,里面每个流程都涉及很多能力的建设,但实际执行起来很难做, 各方也不认可,淘宝客户端一直以来存在指标准确性和日志拉取效率低下的问题。如APM性能指标为例,淘宝App 过去很多指标不准,业务同学不认可,不能指导实际优化。本章节会从重点分享下淘宝App在指标准确性和日志拉取效率方面的相关优化实践。
(图9 问题扭转用户动线以及运维系统)
带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(6)https://developer.aliyun.com/article/1340963?groupCode=taobaotech