4个版本
新版本 0.1.3 | 2024年8月4日 |
---|---|
0.1.2 | 2024年7月29日 |
0.1.1 | 2024年7月29日 |
0.1.0 | 2024年7月28日 |
#232 在 HTTP服务器
每月下载 426 次
17KB
243 行
锈蚀负载均衡器
一个轻量级且高效的Rust语言实现的负载均衡器。
概述
此项目是使用Rust编程语言和Axum Web框架构建的负载均衡器。它设计得高效且轻量,能够将传入的HTTP请求分发到多个后端服务器。
功能
- 高效处理传入的HTTP请求并将它们路由到后端服务器。
- 记录传入请求和响应,以便轻松调试和监控。
- 可配置的日志级别,以控制记录的信息量。
- 利用
reqwest
库向后端服务器发送HTTP请求。 - 线程安全,使用
tokio::sync::Mutex
进行状态管理。
入门
先决条件
- Rust(推荐使用最新稳定版本)
- Cargo(Rust包管理器)
- Git
或
- Docker
使用Docker使用
docker run -p 9999:9999 -v $(pwd)/ferrugem.toml:/usr/local/bin/ferrugem.toml erickcestari/ferrugem
安装
-
克隆仓库
git clone https://github.com/erickcestari/ferrugem.git cd rust-load-balancer
-
构建项目
cargo build --release
-
运行负载均衡器
cargo run --release
配置
负载均衡器可以使用ferrugem.toml
结构进行配置。下面是一个示例配置
port = 9999
log_level = 'info'
algorithm = 'round-robin'
[[servers]]
name = "api1"
url = "https://jsonplaceholder.typicode.com"
[[servers]]
name = "api2"
url = "https://jsonplaceholder.typicode.com"
贡献
欢迎贡献!请随意打开问题或提交拉取请求以改进项目。
许可证
此项目采用MIT许可证。
依赖关系
~8–22MB
~284K SLoC