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

jopen 10年前

原文:http://doc.akka.io/docs/akka/2.3.5/intro/what-is-akka.html  译者:吴京润

可扩展的实时事务处理

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

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

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

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

AKKA实现了一个独特的混合

Actors

Actor给你提供了:

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

参考相关章节:ScalaJava

容错

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

参考相关章节:ScalaJava

位置透明

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

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

持久化

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

Scala和Java API

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

AKKA有两种使用方式

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

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

商业支持

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

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