#web-framework #hyper #优雅 #模型-视图-控制器 #强大 #性能 #简洁

integra

Integra 是一个简洁、优雅、高效的 Rust Web 框架,利用 hyper 库的强大功能。

3 个版本

0.1.0 2023 年 9 月 5 日
0.0.9 2023 年 9 月 11 日

#683HTTP 服务器

每月 48 次下载

Apache-2.0

12KB
188

Integra Web 框架

Integra 是一个简洁、高效的 Rust Web 框架,利用 hyper 库的强大功能。将成为第一个具有 MVC 结构的高性能后端框架!

Crates.io

🌟 特性

  • 快速:基于 Rust 最快的 Web 库之一 hyper 构建。
  • 显式路由:使用清晰直观的路由器定义路由,让你想起 Laravel。
  • 安全优先:从 Rust 的强大安全保证中受益。
  • MVC:Integra 在 Rust 中引领 MVC(模型-视图-控制器)的发展。模型支持通过 Diesel ORM 集成正在开发中。
  • 极简设计:没有冗余,只有必需品。

🔥🔥🔥 性能基准 🔥🔥🔥

以下基准测试是在 M1 Pro 机器上使用单个 CPU 核心进行的。测试使用 wrk 基准测试工具在基本项目设置上执行。这些结果在使用 salvo 的 hello world 时非常接近。

wrk http://127.0.0.1:3029/hello -t12 -c400 -d30s
Running 30s test @ http://127.0.0.1:3029/hello
  12 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     3.80ms  593.67us   8.34ms   74.98%
    Req/Sec     8.71k     0.88k   11.93k    59.64%
  3122975 requests in 30.04s, 869.66MB read
  Socket errors: connect 0, read 232, write 0, timeout 0
Requests/sec: 103977.74
Transfer/sec:     28.95MB

请注意,性能可能因许多因素而异,包括特定的工作负载、服务器的配置以及客户端的网络条件。

🖥️ 测试环境

  • 操作系统:Mac OS Ventura 13.5.1
  • 处理器:M2 Pro
  • 型号:MacBook Pro M2 Pro (16" 和 16GB)

🚀 使用 Integra 快速入门

  1. 克隆此仓库
git clone https://github.com/SapphoTech/integra-starter-template.git my_project_name

📘 使用方法

待办事项

🎯 路线图

  • 模块

    • 使用模块定义应用程序的结构
    • 模块封装
    • 共享模块
  • 控制器

    • 路由参数
    • 请求、响应对象处理
  • 支持的请求

    • GET
    • POST
    • PUT
    • DELETE
    • HEAD
    • CONNECT
    • OPTIONS
    • TRACE
    • PATCH
  • 中间件

    • 用于请求/响应操作的中间件
    • 执行顺序
  • 守卫

    • 路由守卫用于身份验证和授权
  • 拦截器

    • 转换响应
    • 处理请求/响应生命周期
  • 宏属性

    • 用于从请求中提取自定义数据的自定义宏属性
  • 模型

    • 与 Diesel ORM 集成
    • 支持迁移
    • CRUD 操作
    • 高级查询和过滤
  • 仓库

    • 通用仓库模式
    • 用户仓库
  • 提供者和服务

    • 自定义提供者
    • 单例服务
  • 视图

    • 模板引擎集成
    • 支持动态内容渲染
    • 布局和部分

🤝 贡献

待办事项

依赖

~11–23MB
~313K SLoC