Exponential Backoff (Any AWS Service)

  • If you get throttling exception, use expotnential backoff
    • Which included in AWS SDK API calls
    • Must implement yourself if you use AWS API as-is
  • Concept:
    • Retry if fail, but double everytime there is another fail
    • For example:
      • 1st retry: fail, wait another 1 second
      • 2nd retry: fail, wait another 2 second
      • 3rd retry: fail, wait another 4 second
      • 4th retry: fail, wait another 8 second
      • 5th retry: fail, wait another 16 second
    • This is to reduce the load on the server if many clients connect the same time
  • Note: We only implement retries on 5xx server errors.