Dubbo 调用链太长,怎么缩短延迟和故障链?
查看完整题解
参考回答
直接回答
先画出调用依赖,去掉重复请求和只转发的中间跳,互不依赖的读请求可以并行。必须串行的调用要分配同一个总等待额度,并控制各段调用的重试次数。
讲清原理
总耗时由关键路径主导,也就是最晚完成的那条必经路径。串行的两跳时间相加,并行时则接近较慢的那一跳。链路越长,任一环节卡住越容易拖累完整请求。
例子与易错点
订单详情的运费查询与用户等级查询彼此独立,可并行。扣库存要用前一步的检查结果,就不能照搬并行做法。用链路追踪找出实际拖慢整个请求的那一段。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。