这个akka入门系列大量参考了akka文档。主要是翻译+自己的一些理解。这里对akka文档吐一下槽,它的文档初看上去感觉挺详细的。但是很多示例代码都是片段,对初学者来说甚至都无法运行起来,所以我这里会对它的文档进行扩展,至少至少会有完整的代码。

what is akka?

我们都知道,要想写一个能正确并发、容错性好的可扩展应用是非常非常困难的。最主要的原因是我们用错了工具和在错误的级别上进行抽象(actor模式的抽象级别要远高于共享内存模式)。akka正式为了应对这种情况而孕育而生。actor模型提高了抽象级别并且提供了一个更好的平台去构建正确的、并发的可扩展应用。akka采用的是一种称为“let it crash”(让它去死)模式去获得良好的容错性。这种模式在电信领域获得了极大的成功,erlang就是采用这种模式。有了上面这些,akka就可以很容易构建自我恢复和永不停息的应用(好NB的口气啊)。actor模型也提供了这样一种抽象,使得分布式更加透明化。

用下面的图来总结一下吧:

akka本身用scala写的,但是因为scala是基于JVM的语言。所以akka自然而然的可以允许在java平台,并且提供了java API。我用的就是akka的java 版API,虽然没有scala版本简洁,但是整体来说还算比较简单。唉,本身scala这种混合型语言提供的抽象系统就比java强大的多。scala的模式匹配功能+actor简直就是绝配。

后面让我们直接进入akka核心模块去了解这个框架。主要是下面几个模块。其他的模块穿插着进行描述。主要使用的java API,因为scala使用的人毕竟很少(最最关键是我也只是略懂啊),当然我会适当对比这两种API风格,借此来领略scala的强大和优雅。

关键模块:

Actor

Futures

Dispatchers

Routing

Transactors

akka java api中文_akka入门 (1):akka简介相关推荐

  1. java API中文在线帮助文档各种链接

    四种链接 1.https://www.w3cschool.cn/java/dict 2.http://www.matools.com/api/java8 3.http://tool.oschina.n ...

  2. kafka java api 删除_Kafka入门系列—6. Kafka 常用命令及Java API使用

    常用命令 启动Zookeeper ./zkServer.sh start-foreground 可选参数: ./zkServer.sh {start|start-foreground|stop|res ...

  3. gdal java api 中文_GDAL API入门

    GDAL API入门 打开文件 在打开GDAL所支持的光栅数据之前需要注册驱动.这里的驱动是针对GDAL支持的所有 数据格式.通常可以通过调用GDALAllRegister()函数来注册所有已知的驱动 ...

  4. selenium java api 中文_Selenium Java WebDriverAPI 接口操作

    一.API代码实例 1.1 访问网址 @Test public void visitURL() { String baseUrl = "http://www.sogou.com"; ...

  5. Java 中文api pdf_Java API中文完整版.pdf

    Java API中文完整版.pdf SunGuide®: Staffing Plan SunGuide-SP-5.0.0-Draft Prepared for: Florida Department ...

  6. Java学习路线从入门到入土

    Java学习路线从入门到入土 Java学习路线从入门到入土 Java学习路线从入门到入土 简介 Java基础课程 第一阶段 第一部分:Java开发介绍 第二部分:Java数组 第三部分:Java面向对 ...

  7. java akka 教程_快速入门 Akka Java 指南

    快速入门 Akka Java 指南 Akka 是一个用于在 JVM 上构建高并发.分布式和容错的事件驱动应用程序的运行时工具包.Akka 既可以用于 Java,也可以用于 Scala.本指南通过描述 ...

  8. akka typed mysql_现代化的 Java (三十四)—— Akka Typed 的 Clojure 封装和简化

    这几天在家读了一下 Akka Typed 的文档,发现还是挺有意思的. 这个体系已经是 Akka 官方推荐的默认风格,现在打开 Akka 官网的最新版 Akka 文档(2.6.0),入门教程就是 ty ...

  9. java宏定义_现代化的 Java (二十六)—— Akka Stream Graph

    Java. 的 Stream API,有经验的 Java 工程师应该都不陌生了.它为数据处理逻辑提供了一组串化的操作序列接口,为流式的业务提供了一个整齐一致的接口.但是要指出的是,在常见的编程语言中, ...

最新文章

  1. 在ATS插件中使用互斥锁
  2. 解决Wireshark 服务运行于非默认端口问题
  3. python三维图形渲染 地图_从三维数据到彩色地图
  4. Linux操作系统文件系统基础知识详解
  5. 如何手动关闭tomcat服务,不在Eclipse中的server里按那个红色按钮关。
  6. chrome 插件开发各种功能demo_Chrome 开发者工具各种骚技巧
  7. vs2013 c# 中调用 c 编写的dll出错的可能错误
  8. Socket常见错误代码与描述
  9. 服务端_说说Netty服务端启动流程
  10. 这月跳槽的多吗?月薪多少才正常
  11. 空洞卷积(Dilated Convolution)简介
  12. 如何防止局域网病毒春风吹又生--之一
  13. [足式机器人]Part1 运动控制的替代方法Ch06——【Legged Robots that Balance 读书笔记】
  14. 微信小程序消息推送,实现未完成计划的在微信内的定时提醒功能
  15. Core Animation学习笔记—第二节Setting up Layer Objects
  16. 快速排序的优化1: 选取中间值或随机值作为基准,C语言实现
  17. CSS基础(4)- 层叠
  18. 三级栏目html,易优CMS 栏目页分离调用二级栏目导航和三级栏目导航
  19. opencv3 6.2非线性滤波
  20. python爬虫批量下载高清大图

热门文章

  1. mysql barracuda_这可能是把MySQL存储引擎讲解的最清楚的一篇文章了
  2. www.1188.com劫持IE,baidu工具条不甘落后
  3. 三个方法教你快速找到LinkedIn领英的潜在客户(置顶收藏)
  4. 编译原理实验Sicily--LR(K) 语法分析程序
  5. RocketMQ的拉(Pull)模式详解
  6. GIS基础(4)常见的GIS数据格式
  7. 天龙八部链接不上mysql_天龙八部私服教程完美服务端关于TWGM登陆问题解决
  8. skyfire Sorry. Skyfire Cannot Provide Service In Your Country.解决 天火浏览器不能使用问题。...
  9. 目标检测学习笔记——TTA
  10. 重庆北大青鸟ACCP软件工程师课程内容有哪些?