Akka 简介及简单原理
一、Akka简介
(1)Spark的RPC是通过Akka的类库实现的,Akka是通过scala语言开发,基于Actor并发模型实现。
(2)Akka具有高可靠、高性能、高扩展等特点,使用Akka可以轻松实现分布式RPC功能。
(3)Actor是Akka中最核心概念,它是一个封装了状态和行为的对象,Actor之间可以通过交换消息的方式进行通信。
(4)每个Actor都有自己的收件箱(MailBox),通过Actor能简化锁及线程管理。
(5)可以非常容易的开发出正确的并发程序和并行系统,Actor具有如下特性:
- 提供了一种高级抽象能简化在并发(Concurrency)/并行(Parallelism)应用场景下的编程并发。
- 提供了异步非阻塞、高性能的事件驱动编程模型。
- 超级轻量级事件处理,每GB堆内存几百万Actor
ActorSystem
在Akka中,ActorSystem是一个重量级结构。
他需要分配多个线程,所以在实际应用中,ActorSystem通常是一个单例对象。
我们可以使用这个ActorSystem创建很多Actor
Actor
在Akka中,Actor负责通信,在Actor中有一些重要的声明周期方法。
preStart()方法:该方法在Actor对象构造方法执行后执行,整个Actor声明周期仅执行一次。
reserve()方法:该方法在Actor的preStart()方法执行完成后执行,用于接收消息,会被反复执行。
Akka简单实现原理
欢迎订阅关注公众号(JAVA和人工智能)
获取更多免费书籍、资源、视频资料
文章超级链接: