Limit the concurrency of AWS calls to avoid throttling #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This problem is probably exposed only at our scale but I think it's a fairly reasonable feature to add anyway.
We have 12 clusters, each cluster has between 6-45 services.
Since the call to
DescribeService
can only accept 10 items, it needs to be called many times over in order to describe all of our services.We keep getting throttled by Amazon saying and failing both the exporter and other perhaps more important parts of our system.
Allowing a limit in the channel concurrency will make the calls block until other calls return and remove the actual throttling since the system won't be calling AWS api so many times.