-
Notifications
You must be signed in to change notification settings - Fork 4k
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
design(aws-ecs) Design proposal for Queue Worker Service L3 construct #2402
Conversation
Open question: The scaling factor for the ApproximateNumberOfMessagesVisible metric will vary based on how fast a message can be processed by the container. Does it make sense to set a default and make it on the higher end and provide the option to pass in a custom value as part of the props? Would requiring the property be better? Example: |
@pkandasamy91 Other consideration is how latency-sensitive the application is, so 200 messages may not be a big deal and not need scaling if the application's SLA for processing messages is 5 minutes. I think it makes sense to set a default and allow a property. Side note, is there a minimum scaling set? Is it equal to the desired count? |
I actually would only decrease the number of workers only if the approximate number of messages visible is zero. |
@nathanpeck Can you suggest a default step scaling policy for what you're suggesting? |
Yes, the minimum scaling capacity is set to the desired task count (default 1 if not provided) |
I've added a scalingSteps prop and provided a default that seems reasonable (spoke to @nathanpeck and confirmed that it's a good starting point). Doc has been updated to address all other feedback as well |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The interfaces generally seem fine -- I'm not super familiar with the SQS construct lib so will have a better feel for this when it's implemented but besides making CPU part of the common props no major changes; most comments more about writing style/clarity.
e34c553
to
3654a48
Compare
Squashed commits |
Would something like this not be better suited to a third party module? Why does it need to be cdk itself? I'd be wary of accepting lots of different L3 patterns for services, when there's a perfectly valid method of packaging them as independent modules, seems like it could explode an already sizable code base. |
I tend to agree with @BDQ that these shouldn't go into the aws-ecs module. These are still 1st party and should be shipped together with the CDK but I think we should put these L3s under a new module. This is something @clareliguori and I also discussed. How about we move all the L3 patterns into a new module called @rix0rrr @fulghum what do you guys think? Thoughts? |
This should be encapsulated in #2568. Closing. |
Fixes #2396
Pull Request Checklist
design
folderBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.