Akka简介

Spark的PRC是通过Akka类库实现的,Akka由scala开发,基于Actor开发模型实现
Akka-高可靠、高性能、可扩展
轻松实现分布式RPC的功能
Actor为Akka的核心,是一个封装了状态和行为的对象,Actor之间可通过交换信息的方式进行通信
每个Actor都有自己的Mailbox。通过Actor能简化锁和线程管理

特性:
1.提供了高级抽闲,简化在并发(Concurrency)/并行(Parallelism)应用场景下的编程开发
2.提供了异步非阻塞、高性能的事件驱动编程模型
3.超级轻量级事件处理(每GB内存有几百万Actor)

ActorSystem
在Akka中,ActorSystem是一个重量级的结构
需要多个线程分配。所以通常ActorSystem是一个单例对象
可以通过这个ActorSystem创建很多Actor

Actor
在Akka中,Actor负责通信,其中包含一些重要的生命周期方法:
1.preStart()方法:该方法在Actor对象构造方法执行后执行,整个Actor生命周期中仅执行一次
2.receive()方法:该方法在Actor的preStart()方法执行完后执行,用于接收消息,会反复执行

案列
用Akka实现RPC通信
实现Spark集群间通信使用

1.Worker中创建ActorSystem–>创建Actor(Worker)。Worker请求的参数封装、序列化发送给Master
2.Masker中也有ActorSystem–>创建Actor(Master)。Master接受Worker的参数、反序列化,模式匹配(因为可能不单单接受了这个Worker的序列,所以要模式匹配)
3.Master讲执行后的结果发送给Worker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值