Rust 的 actors 框架 Actix

MIT
Rust
跨平台
2018-05-31
李三石

Actix - Rust 的Actor异步并发框架

Actix 基于Tokio和Future,开箱具有异步非阻塞事件驱动并发能力,其实现低层级Actor模型来提供无锁并发模型,而且同时提供同步Actor,具有快速、可靠,易可扩展。

Actix之上是高性能Actix-web框架,很容易上手。使用Actix-web开发的应用程序将在本机可执行文件中包含HTTP服务器。你可以把它放在另一个像nginx这样的HTTP服务器上。但即使完全不存在另一个HTTP服务器(像nginx)的情况下,Actix-web也足以提供HTTP 1和HTTP 2支持以及SSL/TLS。这对于构建微服务分发非常有用。

特性:

  • 异步/同步 actors

  • Actor 在本地/线程上下文中通信

  • 使用 Futures 进行异步消息处理

  • 支持 HTTP1/HTTP2(actix-web)

  • Actor 监控

  • 类型化消息 (No Any type)

示例 

extern crate actix;extern crate futures;extern crate tokio;use actix::prelude::*;use futures::Future;/// Define `Ping` messagestruct Ping(usize);impl Message for Ping {    type Result = usize;}/// Actorstruct MyActor {    count: usize,}/// Declare actor and its contextimpl Actor for MyActor {    type Context = Context;}/// Handler for `Ping` messageimpl Handlerfor MyActor {    type Result = usize;    fn handle(&mut self, msg: Ping, _: &mut Context) -> Self::Result {        self.count += msg.0;        self.count    }}fn main() {    // start system, this is required step    System::run(|| {        // start new actor        let addr = MyActor { count: 10 }.start();        // send message and get future for result        let res = addr.send(Ping(10));        // handle() returns tokio handle        tokio::spawn(            res.map(|res| {                println!("RESULT: {}", res == 20);                // stop system and exit                System::current().stop();            }).map_err(|_| ()),        );    });}

 

的码云指数为
超过 的项目
加载中

评论(1)

7
76
这个效率非常高

Actix-lua 0.3.5/0.4 发布,集成 Lua 与 Actix 游戏开发利器

Actix-lua : 适用于Actix的安全Lua脚本编写环境 新特性: Lua actor : 使用LuaActor用于将Lua脚本actor模型集成到您的系统。 在actor模型中,actor用消息进行通信。LuaMessage是LuaActor唯一...

2018/10/11 07:47

Actix-web 0.7.9/10/11 齐发,新特性、更新/修复等越发完善

Actix-web 0.7.9 发布内容: 添加 添加了客户端关闭超时设置 添加了慢速请求超时设置 在慢速请求超时(#523)时,响应408 修复 将HTTP1解码错误报告给客户端。(#512) 在CORS中正确组合多个...

2018/10/10 15:12

Actix 0.7.1 发布,Rust 的 Actor 框架

Actix 0.7.1 发布了,Actix 是一个 Rust 的 Actor 框架,特性包括: 同步/异步 actors 在本地/线程上下文中的 Actor 通信 使用 Futures 进行异步消息处理 支持 HTTP1/HTTP2(actix-web) Actor...

2018/07/21 06:20

Rust 的 Actor 框架 Actix 0.6.1 发布,修复内存安全问题

Actix 0.6.1 发布了,Actix 是一个 Rust 的 Actor 框架,特性包括: 同步/异步 actors 在本地/线程上下文中的 Actor 通信 使用 Futures 进行异步消息处理 支持 HTTP1/HTTP2(actix-web) Actor...

2018/06/24 06:46

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

终极讲师介绍:集齐 27 位大神召唤亚洲首届 Rust 开发者大会!

RustCon Asia 进入倒计时!就在这个周六,将有 300+ 位开发者齐聚北京,参加亚洲最大的 Rust 语言开发者大会 RustCon Asia。此次大会几乎将聚集全部 Rust 中国社区的资深开发者和已在生产环境...

04/19 11:41
16
0
RustCon Asia 讲师和议程公布!

RustCon Asia 上线 CFP(Call For Proposals)接受议题提交的两周时间里,我们共计收到了中英文议题 50 份!内容非常丰富并且比我们预期的更加多元,在此特别感谢关注此次大会并提交议题的潜...

03/22 11:10
8
0
5分钟APIG实战: 使用Rust语言快速构建API能力开放

序言:Rust语言简介 参与过C/C++大型项目的同学可能都经历过因为Null Pointer、Memory Leak等问题“被” 加班了不知道多少个晚上。别沮丧,你不是一个人,Mozilla Firefox的开发者们同样经历...

2018/09/07 21:08
35
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部