#负载均衡器 #实现 #服务器 #http #级别 #日志记录 #后端服务器

bin+lib ferrugem

一个轻量级且高效的Rust语言实现的负载均衡器

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日

#232HTTP服务器

Download history 426/week @ 2024-07-28

每月下载 426

MIT 许可证

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

安装

  1. 克隆仓库

    git clone https://github.com/erickcestari/ferrugem.git
    cd rust-load-balancer
    
  2. 构建项目

    cargo build --release
    
  3. 运行负载均衡器

    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