It is possible that the REST requests are continously failing for certain amount of time due to external causes. (such as server not reachable ).
In this case, the FitBit connector continuously retries until the request is successful. This produces large amount of logs and temporary overload.
To prevent this, we can implement the approach recommended by @blootsvoets
Build in an exponential backoff algorithm ( if the service is properly misbehaving).
Each failed request that is not 401, assume that the server is misbehaving, then set a timeout. On each subsequent error, the timeout is doubled, plus some random number of milliseconds, up to a maximum and until the service is working as intended again.
To avoid a single connection error to cause the whole connector service to stall, we could set a threshold for number of requests that have failed until we think the server is disconnected.
It is possible that the REST requests are continously failing for certain amount of time due to external causes. (such as server not reachable ). In this case, the FitBit connector continuously retries until the request is successful. This produces large amount of logs and temporary overload. To prevent this, we can implement the approach recommended by @blootsvoets