yumosx commented on code in PR #3046:
URL: https://github.com/apache/dubbo-go/pull/3046#discussion_r2510480106
##########
cluster/loadbalance/p2c/loadbalance.go:
##########
@@ -75,16 +117,7 @@ func (l *p2cLoadBalance) Select(invokers []base.Invoker,
invocation base.Invocat
// The local metrics is available only for the earlier version.
m := metrics.LocalMetrics
// picks two nodes randomly
- var i, j int
- if len(invokers) == 2 {
- i, j = 0, 1
- } else {
- i = rand.Intn(len(invokers))
- j = i
- for i == j {
- j = rand.Intn(len(invokers))
- }
- }
+ i, j := l.randomPicker(len(invokers))
logger.Debugf("[P2C select] Two invokers were selected, invoker[%d]:
%s, invoker[%d]: %s.",
Review Comment:
@Alanxtl 我想了下好像还是只能这样,因为 rand.Int 导致 getMetrics 也是无法预测的, 所以要改掉的话,导致
`GetMethodMetrics` 要搞的很复杂,因为这个必须要`GetMethodMetrics` 的参数确定。
--
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]