akka快速入门(读书笔记)

参考https://developer.lightbend.com/guides/akka-quickstart-java

   (只把最重要的部分记录下来)

 akka是什么?

   akka 是一个基于JVM的用于构建高并发,分布式,具有容错性的事件驱动应用的工具和runtime。

   Actors是akka的基本运行单元。

下载例子

  1 从 Lightbend Tech Hub 下载zip包

 2 解压

运行

   mvn compile exec:exec

上述例子如何工作的

main函数先创建了akka.actor.ActorSystem,它是Actors运行的容器。然后它创建了三个 Greeter Actor实例和一个Printer Actor实例。

例子中,发送消息给Greeter Actor实例,它在内部存储消息,最终解析消息,传送给 Printer Actor, Printer Actor会打印出来结果。

Actor Model的优点

事件驱动模式--Actors的工作是响应消息。Actors之间的交流都是异步的,允许Actors发送消息,继续他们自己的工作,不会阻塞。

强独立原则----不像java中的对象,一个Actor没有公共的API你可以调用的。作为替代品,公共的API是通过Actor处理的消息传递的。这样避免了Actors之间状态共享,唯一的办法查看其他Actor的方法就是发送消息给他。

位置透明原则-----系统是通过工厂类的方法创建Actors的,并且返回了Actors的引用。位置不重要,Actor可以开始,停止,移动,重启,批量启动和关闭,从错误中恢复。

轻量级----每个实例几百比特,一个应用可以有几百万个实例。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容