Need help?
<- Back

Comments (33)

  • prologic
    So, effectively if A → B → C → D and D is failing, C may retry D, but B and A are discouraged from retrying the whole chain.This is quite slever. I also really like the concept of an "Error Budget", inspired by SRE and SLO(s) no doubt :)
  • Scoundreller
    Meanwhile Google keeps giving me “please wait, do not reload page” walls, so I ctrl-r as rapidly as possible. Or is that the human test and response?
  • whatever1
    Easy. Take a larger cut from the driver for each retry.
  • maxchisto
    I'm suspicious of load shedding not mentioned in the article. Combine that with exp backoff in the caller and you got yourself a pretty robust starting point
  • aftbit
    I'd be interested to hear other strategies in this space. I've done the naive thing of allowing retries everywhere, and gotten into retry storms. When I was next presented with the problem, I tried the other naive thing of only allowing retries from the very top level service, which led me to redoing absolutely tons of work for each failure. What's a nice middle path that doesn't add too much complexity?
  • UltraSane
    This feels like trying to reinvent Fibre Channel's flow control mechanism.
  • whoevercares
    Token bucket is all you need
  • iwontberude
    [dead]