对我而言,对akka的了解是学习scala的过程中书籍中的Akka章节推动的,当时书中介绍说它是一个分布式并行计算框架
。莫明地对它挺感兴趣的,就尝试着学习一下,我是先看完了数据中的Akka章节,里面主讲了Actor模型,包含了创建、通信、生命周期、事件驱动、Future异步返回等知识,了解了个大概之后才去官网上看介绍。
对于我这种英文阅读能力不是极强的人来说,真的是省时省力。一方面学习效率高了,因为如果一开始就看英文文档的话,了解整个知识体系还是很吃力的;另一方面也提高了英文阅读能力。再者就是学习的是官方的权威的系统的知识,对于知识的全面把控很有帮助。以下是官网的入门学习笔记总结,也引用着网上其他博客的解释。
Akka快速开始
Actor模型的好处:
- 事件驱动:Actor的工作方式是通过应答消息实现的,Actor之间的消息交互是异步的,也就是说一个Actor向另一个Actor发送消息后,不需阻塞等待应答,可以在这期间做自己的事情。
- 强分离原则: 不像scala中类的规范使用,Akka的Actor没有公开的Api(如公有方法)给其他对象调用,Actor之间的信息交互只能通过发送消息。
- 位置透明性: 系统通过工厂方法创造Actor实例并返回实例的引用。一般操作的都是引用变量,不需要关心Actor处在什么位置。
- 轻量级的:一个Actor消耗不到几百字节,单个应用程序允许百万级的并发Actor同时存在。