#actor-system #actor #stream #actor-stream #spawn-process

uactor

最快的、最模块化的actor系统,不会让您为不需要的功能付费

22 个版本 (10 个重大更改)

新功能 0.11.0 2024年8月23日
0.10.1 2024年6月21日
0.8.1 2024年2月7日

#300并发

Download history 8/week @ 2024-04-29 15/week @ 2024-05-06 24/week @ 2024-05-20 251/week @ 2024-05-27 38/week @ 2024-06-03 13/week @ 2024-06-10 122/week @ 2024-06-17 8/week @ 2024-06-24 29/week @ 2024-07-01 73/week @ 2024-07-29 329/week @ 2024-08-05 13/week @ 2024-08-12

每月下载 415

MIT 许可证

63KB
1.5K SLoC

uActor

概述

最快的、最模块化的actor系统,不会让您为不需要的功能付费

示例

示例可以在这里找到。

特性

  1. 简化创建tokio actor主题导向的actor
  2. 最小化样板代码
  3. 支持不同的tokio通道,包括 watchbroadcastoneshotmpsc
  4. 每个actor可以监听多达30个通道。
  5. 增加了对具有单个真实通道的actor的支持,并将消息路由到定义的处理程序
    示例:单个通道
  6. 增加了tick(actor每n秒/毫秒等调用)支持
    示例:间隔
  7. 在预启动阶段实现了依赖注入,以解决交叉引用问题("Actor#1"需要"Actor#2"的引用,而"Actor#2"需要"Actor#1"的引用)
    示例:依赖注入
  8. 与tokio/tracing集成,包括actor生命周期、消息和处理程序的跟踪
  9. 实现了需要与多个消息源(通道)一起工作的actor的支持 示例:多通道
  10. 实现了actor的共享状态 示例:共享状态

其他项目

  1. Actix
  2. Ractor
  3. Tokactor
  4. tiny-tokio-actor

许可证

本项目采用MIT许可证

贡献

除非您明确说明,否则您有意提交以包含在uActor中的任何贡献,都应按照MIT许可,不附加任何其他条款或条件。

待办事项

  • 实现可记录的actor(跟踪)
    • 实现handler的记录
    • 添加带有actor图形的uptrace屏幕截图
    • 实现parent_id的传递
  • 实现数据源tcp流
  • 实现actor的集群化。也就是说,可以在不同的机器上运行actor并相互通信
  • 实现actor的监控
  • 实现actor的度量
  • 通过HTTP API实现actor的管理

依赖项

~4–13MB
~134K SLoC