Files
FastDeploy/fastdeploy/golang_router/internal/scheduler/handler/round_robin.go
T
mouxin 0a92e96f20 [Feature] Add Golang-based Router for Request Scheduling and Load Balancing (#5882)
* [Feature] add golang router

* [Feature] add golang router

* [Feature] add golang router

* [Feature] add golang router

* [Feature] add golang router

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

* [Feature] Add Golang-based Router for Request Scheduling and Load Balancing

---------

Co-authored-by: mouxin <mouxin@baidu.com>
2026-01-07 21:28:08 +08:00

22 lines
457 B
Go

package handler
import (
"context"
)
func RoundRobinSelectWorker(ctx context.Context, workers []string, message string) (string, error) {
if len(workers) == 0 {
return "", nil
}
var count uint64
if DefaultCounterPolicy.workerType == "prefill" {
count = DefaultCounterPolicy.prefillCounter.Add(1) - 1
} else {
count = DefaultCounterPolicy.counter.Add(1) - 1
}
selectedNum := count % uint64(len(workers))
return workers[selectedNum], nil
}