加载中...

Actor 模型是 Carl Hewitt 等人于 1973 年提出的并发计算模型:一切皆 Actor,每个 Actor 拥有私有状态和一个邮箱,只能通过异步消息与外界交互。
Actor 收到消息后可以做三件事:创建新 Actor、向其他 Actor 发消息、决定如何处理下一条消息(改变自身行为)。由于状态私有且消息逐条处理,天然避免了共享内存与锁带来的竞态问题。
Erlang/OTP 以轻量进程实现该模型并支撑了高可用电信系统;Akka(JVM)、Elixir、微软 Orleans 以及 Rust 的 Actix 等也是知名实现。
优点是并发模型简单、易于分布式扩展、故障隔离好(配合监督树);缺点是异步消息使调用链路与调试复杂,消息可能丢失或乱序,需要额外设计。

登录 后参与讨论
暂无讨论,来发表第一条评论吧