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可以开始,停止,移动,重启,批量启动和关闭,从错误中恢复。

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

你可能感兴趣的:(akka快速入门(读书笔记))