这是正在实现的一个针对分布式系统的 'Actor' 模型的完整实现,源于 Minotaur
项目的功能拆解重构。
- 以事件驱动的方式驱动 Actor,使得存在大量 Actor 的情况下,仅使用少量的 goroutine;
- 提供可高度定制的配置功能,以适用不同的业务场景;
- 支持同步和异步的消息发送;
- 支持 Actor 的远程调用,使得 Actor 可以跨节点通信;
- 通过高度的抽象,使得 Actor 之间的通信变得简单,无需在意是本地 Actor 还是远程 Actor;
- 提供了完备的 Actor 生命周期管理,包括创建、销毁、暂停、恢复等;
- 支持监管策略,使得 Actor 之间可以相互监控,当出现异常时,可以根据监管策略进行处理;
- 支持 Actor 的分组,使得可以对一组 Actor 进行统一管理;
- 持久化 Actor 状态,使得 Actor 可以在重启后恢复状态;
- 集群管理,使得 Actor 可以在集群中自由迁移;
- 提供更多的监控指标,以便更好的监控 Actor 的运行情况;