Riker

Riker : 用于构建现代,并发和弹性应用程序的Rust框架.

基于Actor的并发

Actors暴露了基于消息的API,导致快速,无阻塞的代码执行,同时还消除了竞争条件,使并发代码变得轻而易举。

自我修复

构建隔离并从故障中恢复的应用程序。Actors提供监督策略,构成Riker弹性应用程序设计的核心。

事件源和CQRS

使用事件源和命令查询责任分离(CQRS)来驱动极速的持久性数据应用程序。

通用

在云,微服务,物联网,无人机,人工智能等方面。Rust编译为OS二进制文件,没有VM或GC开销,只需要几兆字节的内存。

模块化

包括默认线程管理,并发日志记录,消息调度和数据持久性,并且可以切换以用于替代实现。

现代Rust设计

轻松执行Rust,Futures并且不使用不安全的代码。

  1. struct MyActor;
  2. impl Actor for MyActor {
  3. type Msg = String;
  4. fn receive(&mut self,
  5. ctx: &Context<Self::Msg>,
  6. msg: Self::Msg,
  7. sender: ActorRef<Self::Msg>) {
  8. println!("received {}", msg);
  9. }
  10. }
  11. let sys = ActorSystem::new(&model).unwrap();
  12. let props = MyActor::props();
  13. let a = sys.actor_of(props, "a").unwrap();
  14. a.tell("Hello actor!".to_string(), None);