Akka构建Reactive应用《one》
看到这Akka的官网,描述使用java或者scala构建响应式,并发和分布式应用更加简单,听着很高级的样子,下面的小字写着消息驱动,但是在quickstart里面又写容错事件驱动,就是这么钻牛角尖。
Actors是的Akka的执行单位,Actor模型是一个抽象概念,它使得编写并发的、并行的和分布式的系统变得更加容易。官方给了一个 “helloworld” 示例,演示了基本知识,我们可以在如下的页面创建一个项目,点开旁边的 show all akka projects 可以看到所有的示例(https://developer.lightbend.com/start/?group=akka)。
作为小白,就是这个最基础的这个,然后下载过来是个 zip 包,解压一下,执行以下命令:
$ chmod u+x ./sbt$ chmod u+x ./sbt-dist/bin/sbt
然后在这个目录中,我们执行 ./sbt 或者 sbt.bat(windows 环境)来下载项目依赖的包,不过真的是够慢的哈。
然后执行 reStart 来构建项目和运行 Hello World,可以看到以下的输出,还可以看到 Actor 和我们打的招呼。
在 akka 的 quickstart 里面还给我们画了一张图,看怎么运行的
main 类里面创建一个 akka.actor.ActorSystem,构建 Actors 运行的容器,创建了三个Greeter Actor 和一个Printer Actor。
该示例将消息发送到GreeterActor实例,这些实例在内部存储这些消息。最后,给Greeter Actor的指令消息会触发它们向PrinterActor发送消息,PrinterActor会将它们输出到控制台:
Akka使用Actor和异步消息传递带来了一系列好处,Akka的以下特性允许您以直观的方式解决困难的并发性和可伸缩性挑战,举几个例子。
- 事件驱动模型-Actors 执行响应消息的工作。Actors之间的通信是异步的,允许Actors发送消息并继续自己的工作,而不阻塞等待答复。
- 强隔离原则-与Scala中的常规对象不同,Actor在可以调用的方法方面没有公共API。相反,它的公共API是通过参与者处理的消息定义的。这可以防止参与者之间共享状态;观察另一个参与者状态的唯一方法是向其发送请求它的消息。
- 位置透明性-系统从工厂构造Actor并返回对实例的引用。由于位置并不重要,Actor实例可以启动、停止、移动和重新启动,以便向上和向下扩展,并从意外故障中恢复。
- 轻量级-每个实例只消耗几百字节,这实际上允许数百万并发Actor存在于一个应用程序中。
好戏再续:看看在HelloWorld示例的上下文中使用Actor和Message的一些最佳实践。
有什么讨论的内容,可以加我公众号:
Akka构建Reactive应用《one》相关推荐
- 使用akka构建高并发程序_如何使用Akka Cluster创建简单的应用程序
使用akka构建高并发程序 If you read my previous story about Scalachain, you probably noticed that it is far fr ...
- Akka 指南 之「调度器」
温馨提示:Akka 中文指南的 GitHub 地址为「akka-guide」,欢迎大家Star.Fork,纠错. 文章目录 调度器 依赖 简介 默认调度器 查找调度器 为 Actor 设置调度器 调度 ...
- 意外的服务器响应_响应式系统reactive system初探
初识响应式系统 第一次听到reactive这个词还是在几年前,偶然了解到了Rxjava这个项目,仿佛为我打开了一扇新的大门,Rxjava是ReactiveX的java实现,ReactiveX家族除了R ...
- 响应式系统reactive system初探
文章目录 初识响应式系统 什么是响应式系统 响应式系统的四大特点 及时响应性(Responsive) 恢复性(Resilient) 有弹性(Elastic) 消息驱动(Message Driven) ...
- 具有Akka反应流的反应队列
反应性流是最近宣布的一项计划,旨在在JVM上为具有内置背压的异步流处理创建标准. 该工作组由Typesafe,Red Hat,Oracle,Netflix等公司组成. 早期的实验性实现之一是基于Akk ...
- 使用Akka持久化——消息发送与接收
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/beliefer/article/details/53929751 前言 在<使用Akka持久化 ...
- 【华为云技术分享】Reactive模式优势与实践
Reactive编程即反应式编程,随着这些年的发展已经逐步的进入了开发者的视野当中.早在2014年社区就有人发起响应式宣言,推动着Reactive的发展: 响应式宣言 Published on Sep ...
- Akka的Actor层级结构《seven》译
示例简介 在写散文时,最难的部分往往是编写前几句话.在开始构建Akka系统时,有一种类似的"空白画布"的感觉.你可能想知道:哪个应该是第一个Actor?它应该住在哪里?它该怎么办? ...
- 干货 | Reactive模式在Trip.com消息推送平台上的实践
作者简介 KevinTen,携程后端开发工程师,关注Reactive和RPC领域,深度参与开源社区,对Reactive技术有浓厚兴趣. Pin,携程技术专家,Apache Dubbo贡献者,关注RPC ...
最新文章
- 【词汇】ab-前缀、al-后缀、norm-词根
- vivado 验证ddr引脚_vivado下ddr3的读写和测试详解
- cesium进行模型高度测量的代码片段
- 基于zookeeper实现分布式配置中心(一)
- python画折线图代码实现_python如何绘制分布折线图 python绘制分布折线图代码示例...
- TrustedInstaller.exe in Windows Vista consumes 100% CPU
- 「镁客·请讲」南京布塔:用动作捕捉世界的精彩
- 重磅!2020 年算法工程师技术路线图
- php+getdomfromstring,php使用simple_html_dom解析HTML示例
- 【提问】iOS UIAtumator 是怎么判断元素isVisible的?
- iBooks 一样的翻书效果
- Java程序员简历书写
- 给我一个支点,我要撬动地球。
- 设置matlab关联文件,matlab2014b怎样设置文件关联
- python绘制箭头_python如何绘制坐标箭头?
- Unity3D 程序最简单的开机启动——创建快捷方式
- UVA1626 / ZOJ1463 Brackets sequence 区间DP
- 五一去哪里人最多?用 Python 抓取的热力图告诉你!
- 写论文需要用哪些网站,专门写论文的网站有哪些
- 下一代威胁感知系统的设计构想