分布式计算概念界定(《分布式技术原理与算法解析》学习笔记Day15)
导读:分布式计算模式:Actor...
分布式计算模式:Actor
什么是Actor模型?
分布式环境下 ,多个进程协同完成一件复杂的事情 ,每个进程各司其职 ,完成自己的工作后 ,再交给其他进程去完成剩余的工作 。
Actor模型 ,代表一种分布式并行计算模型 ,它有自己的一套规则 ,规定了Actor的内部计算逻辑以及多个Actor之间的通信规则 ,每个Actor都相当于系统中的一个组件 ,是基本的计算单元 。
Actor类似于一个“黑盒 ”对象 ,它封装了自己的状态和行为 ,是其他Actor无法直接观察到它的状态 ,调用它的行为,多个Actor之间通过消息进行通信 。
Actor模式采用异步模式 ,并且每个Actor封装了自己的数据 、方法等 ,解决了死锁 、竞争等问题 。
Actor模型的三个要素:
状态,Actor组件本身的信息 。 行为 ,Actor的计算处理操作 。 消息 ,Actor的消息以邮件形式在多个Actor之间通信传递 ,每个Actor会有一个自己的邮箱(MailBox) ,用于接收来自其他Actor的消息 。Actor模型的特点:
实现了更高级的抽象 。 非阻塞性 ,当一个Actor发送消息给另外一个Actor后 ,无需等待响应 ,发送完消息之后可以在本地继续执行其他任务 。 无需使用锁 ,Actor从MailBox中一次只能读取一条消息 ,Actor内部只能同时处理一个消息 ,这是一个天然的互斥锁 。 并发度高 ,每个Actor只需处理本地MailBox的消息 。 易扩展 ,每个Actor都可以创建多个Actor,从而减轻单个Actor的工作负载 。Actor模型存在一些不足之处:
Actor提供了模块和封装 ,但缺少继承和分层。 Actor可以动态创建多个Actor ,使得整个Actor模型的行为不断变化 。 Actor模型不适用于对消息处理顺序由严格要求的系统 。可以支持Actor变成模型的典型框架或者语言:
Erlang/OTP Akka Quasar创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!