wyf027 opened a new pull request, #3490: URL: https://github.com/apache/dubbo-go/pull/3490
## What - Add `AffinityAware` to static `RouterConfig` and preserve it when configs are cloned. - Implement `SetStaticConfig` for service- and application-scoped affinity routers. - Keep multiple static affinity rules isolated by config key and apply them deterministically. - Preserve bootstrap static rules when config center has no dynamic rule. - Cover valid, invalid, disabled, scope-filtered, multi-rule, and fallback behavior. ## Why Issue #3203 identifies static AffinityRouter configuration as an outstanding router gap. The affinity router supported dynamic config-center rules, but the static router injection path had neither affinity fields nor a `StaticConfigSetter` implementation. This recreates the maintainer-approved final state of #3420 on the latest `develop`, while omitting compatibility files that have since been removed upstream. The original PR cannot be reopened because its fork/head repository was deleted. ## User impact Applications can bootstrap service- or application-scoped affinity routing locally through `client.WithRouter`. Multiple rules remain independent, and an absent dynamic rule no longer erases static configuration. ## Validation - `GOTOOLCHAIN=go1.25.0+auto go test ./cluster/router/affinity ./global ./cluster/router/... .` - `go test -race ./cluster/router/affinity` - `go vet ./cluster/router/affinity ./global ./cluster/router/... .` - `golangci-lint run ./cluster/router/affinity ./global --timeout=10m` - `make check-fmt` - `git diff origin/develop...HEAD --check` ## Documentation The previously requested website follow-up, apache/dubbo-website#3211, was also closed after its head repository was deleted and will need to be recreated separately. This PR remains a draft while that follow-up is outstanding. Refs #3203 Supersedes #3420 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
