bastion-rs/bastion:类似Akka的高可用分布式容错Rust运行时


Bastion 是一个高可用、容错的运行时系统,具有动态的、面向调度的、轻量级的进程模型。它通过轻量级进程实现提供类似参与者模型的并发性,并有效地利用所有系统资源来保证最多一次的消息传递。
特点:

  • 基于消息的通信使这个项目成为一个精益的Actor系统网格。
    • 没有 Web 服务器、奇怪的恶作剧、强制 trait 实现和静态调度。
  • 运行时容错使其成为分布式系统的理想选择。
    • 如果你想要 Erlang 的味道和 Rust 的强大方面。而已!
  • 具有 NUMA 感知和缓存仿射 SMP 执行器的完全异步运行时。
    • 尽可能利用硬件局部性。它是为服务器设计的。
  • 监督系统使管理生命周期变得容易。
    • 在特定条件下终止您的应用程序或在满足特定条件时重新启动您的子进程。
  • 自动成员发现、集群形成和集群成员之间的自定义消息传递。
    • 无论是否使用 zeroconf,都可以使用单个 actor 块从任何地方启动您的堡垒集群。
  • 不依赖于除futures.
    • Bastion 的主动 IO 具有分散/聚集操作、io_uring支持等等......