分布式计算技术之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库
菜鸟程序员,博客只做记录,可能问题很多,有问题,还望不吝指出!转载请附上原文地址,谢谢!