分布式计算技术之Actor计算模式

Actor模型定义

一种分布式并行计算模型。该模型有自己的一套规则,规定了Actor的内部计算逻辑以及多个Actor之间的通信规则。Actor模型通过异步消息模式,实现分布式系统的高并发

Actor计算模式

Actor模型的三要素:

1. 状态:Actor组件本身的信息

2. 行为:Actor的计算处理操作

3. 消息:Actor的消息以邮件的形式在多个Actor之间通信传递,每个Actor都会有一个自己的邮箱

Actor工作原理

工作流程

Actor2从MailBox队列中依次取出Actor1和Actor3发送的消息执行相应的操作

消息传递流程

Actor关键特征

优势

1. 实现了更高级的抽象

2.非阻塞性

3.无需使用锁

4.并发度高

5.易扩展

不足

1. 可重用性低,业务逻辑的改变会导致整体代码的重写

2. 工程上难以实现

3. 不适用于对消息处理顺序有严格要求的系统

Actor主要应用

1.Erlang/OTP: Erlang是面向并发的编程语言,OTP是Erlang技术栈中的标准库

2.Akka: 为java和scala构建高度并发、分布式和弹性的消息驱动应用程序的工具包

3. Quasar(Java): 开源的JVM库

猜你喜欢

转载自www.cnblogs.com/battlescars/p/actor.html