AKKA文档(java版)——什么是AKKA?

  1. 云栖社区>
  2. 博客>
  3. 正文

AKKA文档(java版)——什么是AKKA?

青衫无名 2017-05-23 16:40:37 浏览1590
展开阅读全文

可扩展的实时事务处理

我们相信编写并发、容错、可扩展的应用相当的困难。盖因大多数时候我们一直在使用错误的工具和错误的抽象等级。AKKA就是为了改变这一切的。我们利用角色模型提升了抽象等级,并且提供了一个用来构建可扩展的、弹性的以及响应式应用的更好的平台——更多信息请见Reactive Manifesto。对于容错机制我们采用“让它崩溃”模型,这一模型已在电信行业取得了巨大的成功,旨在构建自我修复与永不停机的系统。角色还提供了透明的分布式抽象以及真正的可扩展且容错应用的基础。

AKKA是开源的,并遵守Apache2许可。

http://akka.io/downloads下载。

请注意所有代码样例的编译,因此如果你想直接访问这些源码,可以去github上访问AKKA文档子项目:JavaScala

AKKA实现了一个独特的混合

角色

角色给你提供了:

  • 并发与并行性的高等级抽象
  • 异步、无锁以及高性能的事件驱动编程模型
  • 非常轻量级的事件驱动流程(1GB堆内存可容纳几百万的角色)

参考相关章节:ScalaJava

容错

  • 拥有“让它崩溃”语义的管理层级
  • 管理层级可跨越多个JVM,实现真正的容错系统
  • 非常适合编写可自我修复且永不停机的高容错能力的系统

参考相关章节:ScalaJava

位置透明

AKKA的一切旨在分布式环境中工作:角色之间都使用纯消息交互,而且一切都是异步的。

对集群支持的概述请见:JavaScala

持久化

启动或重启角色时,可以选择持久化或重放它接收到的消息。在JVM崩溃或角色迁移到另一节点时,这一点可以使角色恢复它的状态。

更多细节请见:JavaScala

Scala和Java API

AKKA拥有ScalaJava两种语言的接口文档。

AKKA有两种使用方式

  • 作为一个库:将它放到WEB-INF/lib下面供一个web应用使用,或把它当作一个常规的JAR放到你的类路径里。
  • 微内核方式:将你的应用放到独立的内核里。

更多信息参考用例与部署场景

商业支持

AKKA由Typesafe Inc.按照包含开发与生产支持的商业许可证开发,更多内容请读这里

译者注:本人正在翻译AKKA官网文档,本篇是文档第一章,欢迎有兴趣的同学加入一起翻译。更多内容请读这里:https://tower.im/projects/ac49db18a6a24ae4b340a5fa22d930dc/todos/640e53d6e8c149ab95c47cd333b91073/

网友评论

登录后评论
0/500
评论
青衫无名
+ 关注