Create CosmosDBScalerFactory implementation#814
Closed
chiangvincent wants to merge 30 commits intodevfrom
Closed
Conversation
Member
|
Closing this old draft PR - looks like it's obsolete? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
We are currently redesigning the scale controller to unify the duplicate scaling logic that resides in each of the extensions (CosmosDB, ServiceBus, EventHubs, Storage, etc.) and the scale controller. As a part of this redesign, scale controller will call into IScalerFactory implementations defined in each extension, which allows the scale controller to retrieve IScaleMonitor and ITargetScaler (if supported) from each extension. This PR builds on top of the TBS Cosmos PR here
Process:
Create ScaleFactoryImplementation
Generate local nuget packages with -scv3 suffix in the version
Load this local nuget package into scale controller v3
Test locally that client instantiation is successful.
Resources:
Azure Functions Scale Controller Redesign.docx
Azure Functions WebJobs SDK scaling changes.docx
WebJobsSDK that calls into each scale monitor
Code snippet in v3.x that uses scale factory implementation
CosmosDB bindings docs
Clarifications: