1 个不稳定版本

0.1.0 2022年2月15日

728并发

MIT 许可证

6KB
103

并发循环轮询

Rust 的并发 WRR 实现

快速开始

[dependencies]
concurrent-round-robin="0.1"
use concurrent_round_robin::WeightedRoundRobinSelector;

fn main() {
    let balancer = Arc::new(WeightedRoundRobinSelector::new(
        vec![("1", 1), ("2", 2)]
    ));
    for _i in 0..100 {
        let arc = balancer.clone();
        std::thread::spawn(move || {
            println!("{}", arc.select().unwrap().value());
        });
    }
}

依赖项

~1.8–7.5MB
~38K SLoC