Closed szunami closed 4 years ago
I'm tempted to ask whether your business use case truly requires 100,000 goroutines concurrently hitting the API...but I won't. ;)
Yes, a smarter backoff strategy would be a welcome addition to the SDK. Here's the current implementation:
We have a helper library for faking out randomness, which could prove useful:
A reasonable question for sure. Our use case involves CASSing datasets that include hundreds of millions of addresses. We want to be able to parallelize this work as much as possible and we want to make this process as robust as possible.
Ill have a deeper look at the code tomorrow, thanks for the speedy reply!
On Wed, Aug 26, 2020, 6:42 PM Michael Whatcott notifications@github.com wrote:
I'm tempted to ask whether your business use case truly requires 100,000 goroutines concurrently hitting the API...but I won't. ;)
Yes, a smarter backoff strategy would be a welcome addition to the SDK. Here's the current implementation:
- Production Code: https://github.com/smartystreets/smartystreets-go-sdk/blob/master/internal/sdk/retry_client.go
- Unit Tests: https://github.com/smartystreets/smartystreets-go-sdk/blob/master/internal/sdk/retry_client_test.go
We have a helper library for faking out randomness, which could prove useful:
https://godoc.org/github.com/smartystreets/random
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/smartystreets/smartystreets-go-sdk/issues/17#issuecomment-681160665, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADH626JRYQYG3W3ZZM3DT3SCWFVFANCNFSM4QMIYRDA .
I'm going to close this, thanks for shepherding @mdwhatcott !
Dear SmartyStreets folks,
I have really enjoyed using your tools and have been very impressed with your level of documentation.
In doing some load testing of your service, I begin to notice timeouts when I had 100,000 go routines concurrently hitting the batch API. Here's a snippet, for reference
This yielded
I am ok with requests taking longer to complete, but want to make avoid client failures.
I know I could increase the Client Timeout. I also was wondering if you are open to introducing smarter backoff strategies, in particular exponential backoff with jitter (as described here: https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/).
Thoughts? I'd be happy to contribute.