2 个版本
0.1.4 | 2022年2月12日 |
---|---|
0.1.3 | 2022年2月12日 |
#1427 在 算法
13KB
245 行
weight-rs
一个用于加权平衡算法的 Rust 库。
它提供了三种加权平衡(选举)算法。一种是 LVS 使用的加权平衡算法。另一种是 Nginx 使用的平滑加权平衡算法。
LVS 的加权轮询调度介绍在 http://kb.linuxvirtualserver.org/wiki/Weighted_Round-Robin_Scheduling。Nginx 的平滑加权轮询平衡算法介绍在 https://github.com/phusion/nginx/commit/27e94984486058d73157038f7950a0a36ecc6e35。
使用非常简单
use weighted_rs_wasm::{SmoothWeight, Weight};
use std::collections::HashMap;
let mut sw: SmoothWeight<&str> = SmoothWeight::new();
sw.add("server1", 5);
sw.add("server2", 2);
sw.add("server3", 3);
for _ in 0..100 {
let s = sw.next().unwrap();
println!("{}", s);
}
用法
将此内容添加到您的 Cargo.toml
[dependencies]
weighted-rs = "0.1.1"
许可协议
weighted-rs 在 MIT 许可协议和 Apache 许可协议(版本 2.0)的条款下分发。
请参阅 LICENSE-APACHE 和 LICENSE-MIT,以及 COPYRIGHT 以获取详细信息。