轻量级、高性能!Rust Web 框架 Hyperlane 重磅来袭!

157 阅读2分钟

🚀 轻量级、高性能!Rust Web 框架 Hyperlane 重磅来袭!

在 Web 开发的世界里,Rust 以其卓越的性能和安全性崭露头角。如今,一个专为 Rust 生态打造的高性能 Web 框架——Hyperlane,正在悄然改变开发者的体验!

如果你厌倦了繁琐的 HTTP 配置、臃肿的 Web 服务器,Hyperlane 可能正是你一直在寻找的答案!


🔥 什么是 Hyperlane?

Hyperlane 是一个轻量级且高性能的 Rust HTTP 服务器库,专注于简化 Web 开发。它提供了现代 Web 开发所需的核心功能,包括:

超轻量:无额外依赖,启动速度极快!
超高性能:基于异步 Tokio 运行时,响应迅速!
WebSocket 支持:支持实时通信,轻松构建 WebSocket 应用!
中间件系统:灵活的请求和响应处理逻辑,轻松扩展功能!
日志管理:高效的日志系统,助力生产环境调试!


🚀 5 分钟上手 Hyperlane

📌 安装

首先,安装 Hyperlane crate:

cargo add hyperlane

📌 快速构建 HTTP 服务器

一个完整的 Hyperlane 服务器仅需几行代码:

use hyperlane::*;

async fn root_route(controller_data: ControllerData) {
    let _ = controller_data
        .send_response(200, "Hello, Hyperlane!")
        .await;
}

#[tokio::main]
async fn main() {
    let mut server: Server = Server::new();
    server.host("0.0.0.0").await;
    server.port(60000).await;
    server.route("/", root_route).await;
    server.listen().await;
}

执行 cargo run,然后访问 http://localhost:60000/,你就会看到 "Hello, Hyperlane!" 🎉


💡 Hyperlane 特性详解

✨ 强大中间件系统

Hyperlane 支持请求和响应的中间件,方便拦截、修改数据或添加日志。

async fn request_middleware(controller_data: ControllerData) {
    controller_data
        .set_response_header("Server", "Hyperlane")
        .await;
}

async fn response_middleware(controller_data: ControllerData) {
    controller_data
        .log_info("Response sent", log_handler)
        .await;
}

🔗 内置 WebSocket 支持

无需额外插件,Hyperlane 直接支持 WebSocket!

async fn websocket_route(controller_data: ControllerData) {
    let request_body: Vec<u8> = controller_data.get_request_body().await;
    let _ = controller_data.send_response_body(request_body).await;
}

📜 详细日志管理

Hyperlane 允许你灵活控制日志存储,支持文件、控制台等多种日志输出方式。

server.log_dir("./logs").await;
server.log_size(100_024_000).await;
server.log_interval_millis(1000).await;

🔥 为什么选择 Hyperlane?

在 Rust Web 框架领域,我们通常会考虑 AxumWarp 等,但 Hyperlane 有自己的独特优势:

HyperlaneAxumWarp
性能🚀 极快⚡ 快⚡ 快
依赖管理📦 轻量📦 依赖较多📦 依赖较多
WebSocket 支持✅ 原生支持❌ 需要插件❌ 需要插件
中间件系统✅ 灵活扩展✅ 复杂✅ 复杂
适合初学者✅ 易上手❌ 需要理解 Tower❌ 需要理解 Future

Hyperlane 让开发者可以更快、更简单地搭建 Web 服务,不再被复杂的 HTTP 处理流程束缚!


📌 立即尝试 Hyperlane!

如果你正在寻找一个高性能、轻量级的 Rust Web 框架,Hyperlane 绝对值得一试!

📝 快速开始官方示例项目
📖 完整 API 文档docs.rs/hyperlane
🚀 GitHub 仓库github.com/ltpp-univer…

用 Hyperlane,释放 Rust 的全部潜力,开启你的 Web 开发新体验!🔥