Skip to content

Latest commit

 

History

History
26 lines (22 loc) · 1.17 KB

backup-request.md

File metadata and controls

26 lines (22 loc) · 1.17 KB

双发机制

Reference

Abstract

Weibo Mesh 中推荐采用的高可用策略是 Backup Request,又叫双发。 双发继承自 Motan 框架,是我们探索出来的比较高效可靠的机制。 它可以有效解决长尾问题,同时能提升系统吞吐量。

传统解决接口超时问题可能通过重试,在一次请求发送之后等待指定的超时时间, 如果没有返回则再请求一次,最差情况下要消耗2倍的超时时间。

而双发机制则不然, 在发送一次请求后等待P90(在T1时间内有90%的请求都能返回则称P90=T1, 通常系统的P90和程序设置的超时时间相比小很多)时间, 如果请求没有返回则在此刻再次发送一次请求, 在超时时间内,这两个请求中取最快返回的那个。

当然,这里有个防雪崩机制, 假如超过一定数量的请求(比如15%)都在进行双发, 则认为服务整体有问题,会自动停止双发。

实践证明,双发机制的去长尾效果非常明显。