参考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可以开始,停止,移动,重启,批量启动和关闭,从错误中恢复。
轻量级----每个实例几百比特,一个应用可以有几百万个实例。
网友评论