Rust Web框架Actix-web 2.0 體驗

簡介

Rust web框架Actix web 在昨天發佈了2.0版,作為Rust的粉絲,當然要第一時間體驗了

代碼


新建一個基本的代碼目錄,cargo new 就可以, 參見我的目錄


Rust Web框架Actix-web 2.0 體驗


src/main.rs 的內容


<code>use actix_web::{get, web, App, HttpServer, Responder};

#[get("/")]
async fn index() -> impl Responder {
format!("Hello World")
}

#[actix_rt::main]
async fn main() -> std::io::Result {
println!("Listen on 127.0.0.1:8080");
HttpServer::new(|| App::new().service(index))
.backlog(65536)
.maxconn(65536)
.maxconnrate(65536)
.bind("127.0.0.1:8080")?
.run()
.await
}/<code>


cargo.toml的內容


<code>[package]
name = "actix-hello"
version = "0.1.0"
authors = ["ZhiFeng Hu"]
edition = "2019"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
actix-web = "2.0"
actix-rt = "1.0.0"
/<code>


編譯運行


如果你只是跑一下試試,那麼執行


<code>cargo run/<code>


然後打開瀏覽器,訪問 http://localhost:8080就可以看到效果了


如果需要編譯二進制可執行程序,就運行


<code>cargo build/<code>


編譯完之後,可執行文件在 target/release


Rust Web框架Actix-web 2.0 體驗


性能

拉一個性能跑分測試,結果能跑到3.6w qps,性能還可以吧


Rust Web框架Actix-web 2.0 體驗

總結

actix-web是基於rust語言開發的,異步的web框架,可以用於構建web應用,或者提供api。 性能也還可以,比php,python等動態語言要強,略遜於 java,golang。值得體驗。


分享到:


相關文章: