带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(11)https://developer.aliyun.com/article/1340958?groupCode=taobaotech
轻量化链路架构-安全免签实践
外链拉端链路从启动到海关请求再到落地页加载(主请求仍是MTOP),涉及多次安全加签,加签属于CPU密集型 任务,低端机长尾明显,拉端耗时过长会导致流量跳失,FY22 S1 在巨浪业务上,拉端链路做了很多性能优化,优化性能可以带来跳失率的降低,目前性能大头海关请求,海关请求安全加签耗时占比高,因此希望跳过安全加签, 业务可以根据情况使用,提升进端的流量价值,链路涉及到MTOP、Aserver(统一接入层)、安全多方改造:
(图25 安全免签架构变化)
网关协议升级:协议升级支持免签,对外提供设置免签接口,若业务API设置免签,携带头到网络库。
AMDC调度服务:稳定性考虑,目前短期会先通过AMDC(无线网络策略调度服务)调度到线上安全生产环境, 因此AMDC调度模块会根据描述标识判断是否返回客户端免签vip,功能稳定性后,会灵活调度到线上主站环境。 验签模块迁移:安全延签能力前置在AServer接入层,基于运维成本考虑,能力会从Aserver统一迁移到安全, 后续Aserver不会有延签模块,安全会根据API/header特征 决定启用验签等功能。MTOP免签错误重试:免签情况下,MTOP层遇到非法签名请求失败会触发降级老链路,保障用户体验。
总结&展望
总结
本文主要阐述了面对移动端现有挑战,如何通过实现调用链路Tracing、标准Logging及场景化追踪完成可观测能力的建设,并基于全链路视角和新可观测能力,打造全链路运维体系和性能持续优化体系,补齐移动端长久缺失的调用链追踪能力、解决复杂调用场景下问题的快速定位、改变过去拉群人肉排查的低效过程,开始了流程赋能到技术赋能的转变,并围绕该能力构建全链路Metrics指标,打造全链路性能指标体系,深入业务场景展开治理,升级平台技术能力,用数据驱动业务体验改善和体验的长效追踪。
不足
虽然淘宝App陆续在接入各类场景,但离15分钟内定位出问题还有不小的差距,相关的卡点还较多,如日志上报成功率、服务端日志获取的有效性、问题定位效率的提升、接入源头的数据质量检验产品化&技术化、领域技术方对问题的认识和持续沉淀结构化信息,最后就是整个产品的用户体验,需要持续优化。
展望
延续阿里巴巴移动技术小组的移动原生技术理念,我们要做好技术做好体验,需深入移动域腹地,直面东西向多研发框架、南北向端到端全链路等领域挑战。18年体验优化一期,我们在请求领域就引入类似理念并开展尝试,直到如今寻求到合适的结构化理论基础,并通过立足移动端特性开展深入实践,持续做厚领域问题的定义和解决模型。希望打造出移动域可观测技术体系、形成架构沉淀。
参考资料
- 可观测性技术大会 https://ppt.infoq.cn/list/qconsh2021
- OpenTracing设计规范 https://opentracing.io/docs/overview/
- 万字破解云原生可观测性 https://xie.infoq.cn/article/598fd893709f01ae751dbd7b8?utm_medium=article
- Apache APISIX https://www.apiseven.com/zh/blog/why-we-need-Apache-APISIX
- Mesh: SideCar 是什么 https://cloud.tencent.com/developer/article/1706553
- gatner APM 分析报告 https://www.gartner.com/doc/reprints?id=1-25SQ95K7&ct=210414&st=sb
- New Relic APM https://blog.csdn.net/yiyihuazi/article/details/107974539
- dynatrace https://www.dynatrace.cn/platform/application-performance-management/
- OpenTelemetry 简析 https://zhuanlan.zhihu.com/p/361652744
- AppDynamics https://www.appdynamics.com/
- SkyWalking 分布式追踪系统 https://www.jianshu.com/p/2fd56627a3cf