javaone

在晚些时候的社区主题演讲之后,我前往希尔顿金门大桥3/4/5观看了维克多·巴生 ( Viktor Klang )的( Typesafe )“向上,向上和向外:Akka”演讲。 巴生(Klang)是Akka的技术主管。 Akka是“ 瑞典北部美丽的山脉 ”,是女神 ,也是基于Scala的“工具箱和运行时,用于在JVM上构建高度并发,分布式和容错的事件驱动应用程序”。 Akka不仅是Scala专有的,而且可以“从Java今日使用”。 与Scala一起使用Akka确实可以让您做一些与Java一起使用Akka不能做的事情。

许多大型公司都使用Akka解决实际问题。 Akka的构建可在多个方向上吓跑并提供极大的灵活性。 Akka的目标之一是“管理系统过载”。

Akka使用Actors:“ Akka的代码组织单位”。 根据巴生的说法,“ Actor可帮助您创建并发,可伸缩和容错的应用程序。” 参与者“保持许多与业务逻辑分离的”政策决策”。 演员起源于1970年代(“就像计算机科学中所有很酷的东西一样”),而Erlang多年来一直在使用具有“巨大成功”的演员。

巴生警告说,避免“以共享状态来思考,即泄漏的抽象”。 他补充说,线程和锁是“一种执行手段”,而不是结构化的手段。 他说,这将执行与业务逻辑混合在一起。 并发收集是针对本地使用的良好优化。

演员是“按设计分配的”,而巴生有一张幻灯片,列出了几个解释该声明的项目符号。 他说,参与者可以替代“线程”,“对象实例”,“回调或侦听器”,“单例或服务”,“路由器,负载均衡器或池”,“ Java EE”。会话Bean或消息驱动Bean,“进程外服务”和“有限状态机”。

巴生引用了卡尔•休伊特关于演员的录像带 。 演员是“体现了几个关键特征的基本计算单位”。

巴生在演示中以我喜欢的格式显示了代码示例:嵌入到他的幻灯片中并突出显示了颜色语法。 他显示了步骤0('DEFINE'),其中他的代码定义了Actor的类和Actor的行为。

定义后,第一个操作(I –“创建”)“创建Actor的新实例”。 所创建的Actor非常轻巧,并且“状态和行为彼此无法区分”。 他把最后一点讲到了:“观察状态的唯一方法是通过向演员发送消息并查看演员的React。” Actor是状态,行为和消息队列的“非常强大的封装”。

Akka提供了一个ActorSystem来创建Akka Actor实例。 实例Props ,因为演员需要道具提供给演员。

第2步(“发送”)涉及“向演员发送消息”和“一切都是React性发生的”和“一切都是异步且无锁的”。 Akka通过演员的tell方法支持“即发即弃”模式。 但是,Akka提供有保证的交货顺序。 回复是在Akka中使用getSender().tell()

第3步(“成为”)“重新定义了演员的行为”,并且“通过接收消息做出React”。 人们可能想在运行时更改actor行为的原因包括支持将高度竞争的actor转换为actor池或实现正常降级。

演员可以监督其他演员,进入步骤4(“ SUPERVISE”)。 “保护者检测并响应其监督的Actor的故障”,Klang表示这转化为“干净的分离,处理和错误处理”。

Klang谈到了“ Java,C和C#中的故障管理”,在这里您“被赋予了单一的控制线程”。 他以这种方式将其放在子弹中:“如果这根线炸毁,您就被拧死了。” 这意味着所有“显式错误处理”都在“单线程内”完成,并与业务代码“纠结”在一起。

巴生表示,处理错误处理的方法是将错误处理推离业务逻辑。 然后,他引用了洋葱层错误内核 。 巴生谈到了为Actor处理失败提供的回调( preRestartpostRestart )。

路由器是Actor的特例。 巴生展示了一张使用RoundRobinRouter编写代码的RoundRobinRouter 。 他还展示了能够在配置文件中的代码之外定义部署方案,并使用路径从代码中引用该方案。 他进一步举例说明了“远程部署”的代码,该代码指定了带有“ akka”协议,主机名和端口的URL。

到目前为止,巴生提出的所有内容都可以作为Akka 2.0使用。 巴生表示,即将发布的Akka 2.1中将会有Akka集群。 他要求提供反馈,以确保Akka 2.2中的群集可以使用正确的API和正确的功能。 有关Akka群集的更多信息,请参见规范 ,用户指南和代码本身。

Akka 2.1还具有基于Apache Camel的 Akka Camel 。 Typesafe控制台也可用于监视Akka应用程序,并且有此应用程序的实时演示 。

参考: JavaOne 2012:向上,向上和向外:来自JCG合作伙伴 Dustin Marx的Akka与Akka一起扩展软件,内容来自Inspired by Actual Events博客。

翻译自: https://www.javacodegeeks.com/2012/10/javaone-2012-up-up-and-out-scaling.html

javaone

javaone_JavaOne 2012:向上,向上和向外:使用Akka扩展软件相关推荐

  1. JavaOne 2012:向上,向上和向外:使用Akka扩展软件

    在最后的社区主题演讲后,我前往希尔顿金门大桥3/4/5观看了维克多·巴生 ( Viktor Klang )的( Typesafe )"上,下,外:Akka"演讲. 巴生(Klang ...

  2. javaone_JavaOne 2012覆盖率

    javaone 年度Java盛会JavaOne于9月30日至10月4日在旧金山举行. 进行了许多有趣的演示,再次证明了健康的Java生态系统. Java Code Geeks未能参加会议,但是我们的J ...

  3. pve rust 能拆家吗_RUST:2020年9月第四周:向上向上再向上!

    九月第四周,马上就要迎来中秋国庆八天假!昨天被什么秋天第一杯奶茶的梗弄得一愣一愣的今天刚缓过劲来本期内容依旧是围绕了下个月即将上线的电梯展开更多消息被公布,让我们进来看个痛快!RUST:2020年9月 ...

  4. 蓝奏云外链批量下载软件

    软件介绍: 蓝奏云外链批量下载软件是一款功能强大的外链解析下载工具,能够帮助用户轻松下载各种蓝奏云文件,为文件的下载提供了便利:软件提供了各种方便快捷的下载功能,只需要粘贴下载链接即可使用,满足用户的 ...

  5. 服务器无外网环境安装软件

    服务器无外网环境安装软件 背景 yum源 rpm安装 背景 有过linux服务器内网环境安装各种软件经历的童靴或多或少体验过安装过程中各种依赖缺失,又找不到合适rpm包的痛苦,下面是一些我工作经历中总 ...

  6. 默纳克刷机,默纳克刷协议,默纳克显示板 外呼板协议更改 烧录 默纳克各种软件各种刷机,含主板、轿顶板、外呼板刷机软件原程序

    默纳克刷机,默纳克刷协议,默纳克显示板 外呼板协议更改 烧录 默纳克各种软件各种刷机,含主板.轿顶板.外呼板刷机软件原程序.操作器刷机软件及协议一应俱全 默纳克刷机,默纳克刷协议,默纳克显示板 外呼板 ...

  7. 怎么在Chrome浏览器安装chrome应用商店外的第三方扩展程序?

    转载自品略图书馆 http://www.pinlue.com/article/2020/03/2813/0310060784512.html 近日 Google 的 Chrome 浏览器宣布从最新的 ...

  8. 默纳克刷机,默纳克刷协议,默纳克显示板 外呼板协议更改 烧录 默纳克各种软件各种刷机,含主板、轿顶板、外呼板刷机软件原程序、操作器刷机软件及协议一应俱全。

    默纳克刷机,默纳克刷协议,默纳克显示板 外呼板协议更改 烧录 默纳克各种软件各种刷机,含主板.轿顶板.外呼板刷机软件原程序.操作器刷机软件及协议一应俱全

  9. javaone_JavaOne 2012:Lambda之路

    javaone 我最热切期待的JavaOne 2012演讲之一是Brian Goetz的"通往Lambda的道路". 昨晚的技术主题演讲中的Lambda味道仅增加了预期. 这是在希 ...

最新文章

  1. 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(4):Clustering(欧式聚类)
  2. 【NLP】全面详解 | 深度学习中的注意力机制(一)
  3. Android 监听APP进入前台、后台
  4. C,C++,C#note
  5. HBase写性能优化策略
  6. Druid 1.1.14 发布,阿里开源连接池
  7. MySQL5.6.10的安装
  8. Angularjs在初始化未完毕时出现闪烁的解决办法
  9. 怎样在photoshop中快速批量,修改图片
  10. html 重复执行函数,javascript延时重复执行函数 lLoopRun.js
  11. 台达plc自由口通讯_台达PLC串行通讯及应用案例
  12. seaborn做图技巧
  13. Linux驱动01 - Timer
  14. 自学考试-“运筹学基础”
  15. Chrome,谷歌浏览器已经不会自动更新了,但是会有更新提示,关闭更新提示,window10系统,本人亲自操作过,不坑人
  16. 【Superset】Jinja模板功能及设置动态参数
  17. FPGA串口多字节发送、仿真
  18. jmeter-简单接口测试
  19. Android代码混淆技术
  20. Jenkins 也宣布弃用 JDK 8,你还在用JDK8吗

热门文章

  1. 什么是G1垃圾回收算法
  2. 面象对象设计6大原则之三:里氏替换原则
  3. Java父类强制转换子类原则
  4. 【最全最详细】publiccms其他常用代码片段(内容、站点)
  5. 刘奕佳: 我的职校新生活 | 班级日常分享
  6. javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
  7. 10人以下小团队管理手册-学习笔记
  8. MySQL优化(四):count()
  9. 实现简单的注解型MVC框架 —— 低配SpringMVC
  10. spock测试_使用Spock测试您的代码