8个版本
使用旧的Rust 2015
0.2.0 | 2018年3月8日 |
---|---|
0.1.6 | 2018年2月16日 |
0.1.4 | 2018年1月24日 |
#1327 in HTTP服务器
每月85次下载
50KB
1K SLoC
芬达
一个针对Rust Web开发的具有偏见的框架。
芬达是一个Web框架,旨在让开发者在项目和团队之间保持高效和一致性。其目标是
- 具有偏见
- 快速
- 直观
基于以下工作: https://github.com/tokio-rs/tokio-minihttp
具有偏见
芬达和芬达-cli致力于提供一个良好的领域驱动设计的方式。它也设计用来让你走上正确的道路,但不会在库的背后模糊某些难点。
快速
使用以下命令,我们得到大约96%的速度,在发布模式下纯运行tokio-minihttp
的速度。
wrk -t12 -c400 -d30s http://127.0.0.1:4321/plaintext
芬达结果
Running 30s test @ http://127.0.0.1:4321/plaintext
12 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 6.45ms 1.09ms 18.11ms 75.96%
Req/Sec 5.03k 502.49 7.75k 82.97%
1802773 requests in 30.05s, 244.13MB read
Socket errors: connect 0, read 238, write 0, timeout 0
Requests/sec: 60000.61
Transfer/sec: 8.13MB
tokio-minihttp
Running 30s test @ http://127.0.0.1:4321/plaintext
12 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 6.30ms 2.14ms 52.22ms 88.68%
Req/Sec 5.19k 1.03k 10.91k 77.92%
1861702 requests in 30.05s, 229.03MB read
Socket errors: connect 0, read 243, write 0, timeout 0
Requests/sec: 61949.84
Transfer/sec: 7.62MB
直观
基于Koa、Express等框架,芬达旨在让开发体验愉快。
入门
无数据库的快速设置
入门的最简单方法是直接克隆入门套件
> git clone git@github.com:trezm/fanta-starter-kit.git
> cd fanta-starter-kit
> cargo run
示例提供了一个简单的纯文本路由,一个带有JSON序列化的路由,以及使用子应用组织子路由的首选方法。
带有PostgreSQL的快速设置
使用PostgreSQL入门的最简单方法是安装芬达-cli,
> cargo install fanta-cli
然后运行
> fanta-cli init MyAwesomeProject
> fanta-cli component Users
> fanta-cli migrate
这将生成您开始所需的一切!请注意,这需要一个运行的PostgreSQL连接,并假设以下连接字符串是有效的
postgres://postgres@localhost/<Your Project Name>
所有这些都是可配置的,并且不会对开发者隐藏。这就像看到魔术表演并学习如何做到这一点!请参阅芬达-cli的文档。
变更日志
0.2.0
- 重大更改
- 迁移到使用Futures对所有中间件回调进行操作
- 亮点
- 移除了基于树的查找路由以移除潜在的分支
- 移除了涉及查找的许多正则表达式
依赖关系
~12MB
~223K SLoC