Skip to content

Vivid 是 Go 语言中的 Actor 模型完整实现

License

Notifications You must be signed in to change notification settings

kercylan98/vivid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vivid

这是正在实现的一个针对分布式系统的 'Actor' 模型的完整实现,源于 Minotaur 项目的功能拆解重构。

待办

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

About

Vivid 是 Go 语言中的 Actor 模型完整实现

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages