New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for dead-man's-switch API call #25

Closed
fwachsmuth opened this Issue Apr 10, 2013 · 1 comment

Comments

Projects
None yet
2 participants
@fwachsmuth

fwachsmuth commented Apr 10, 2013

Any service can go down for whatever reason. In this case, DynamoDB Tables might no longer get any traffic. If an outage lasts long enough, provisioning might scale down to the min-provisioned-values. Since it makes sense to increase provisioning in smaller steps (since upscale-requests are not limited), it might take a long time after such an outage to get the table provisioning back to the required "normal" level.

Idea: Allow configuring a URL and max-response-time that is checked every check-interval before the dynamic-dynamo does its magic.

This might be a simple api endpoint that returns 200 if the service is up. If it responds, the script does its magic. If it does not return 200 or responds too slow, dynamic-dynamodb should stop downscaling the provisioning to allow speedy retrun to production throughput after an outage.

@ghost ghost assigned sebdah Apr 18, 2013

sebdah added a commit that referenced this issue Apr 18, 2013

sebdah added a commit that referenced this issue Apr 18, 2013

sebdah added a commit that referenced this issue Apr 19, 2013

@sebdah

This comment has been minimized.

Owner

sebdah commented Apr 20, 2013

Feature now released in version 1.2.0. Use the following settings under [global] to configure the circuit breaker:

  • circuit-breaker-url
  • circuit-breaker-timeout

Support for basic authentication is provided via the circuit-breaker-url parameter. Use a URL like this https://username:password@example.com/api/status to make a BA call.

@sebdah sebdah closed this Apr 20, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment