#weighted #balancing #weight

weighted-rs-wasm

一个用于加权平衡算法的库

2 个版本

0.1.4 2022年2月12日
0.1.3 2022年2月12日

#1427算法

MIT 许可协议

13KB
245

weight-rs

Build Status Crate API

一个用于加权平衡算法的 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-APACHELICENSE-MIT,以及 COPYRIGHT 以获取详细信息。

无运行时依赖