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许可。
请注意所有代码样例的编译,因此如果你想直接访问这些源码,可以去github上访问AKKA文档子项目:Java和Scala。
AKKA实现了一个独特的混合
Actors
Actor给你提供了:
- 并发与并行性的高等级抽象
- 异步、无锁以及高性能的事件驱动编程模型
- 非常轻量级的事件驱动流程(1GB堆内存可容纳几百万的actors)
容错
- 拥有“让它崩溃”语义的管理层级
- 管理层级可跨越多个JVM,实现真正的容错系统
- 非常适合编写可自我修复与永不停机的高容错能力的系统
位置透明
AKKA的一切旨在分布式环境中工作:Actor之间都使用纯消息交互,而且一切都是异步的。
持久化
启动或重启Actor时,可以选择持久化或重放它接收到的消息。在JVM崩溃或actor迁移到另一节点时,这一点可以使actor恢复它的状态。
Scala和Java API
AKKA有两种使用方式
- 作为一个库:将它放到WEB-INF/lib下面供一个web应用使用,或把它当作一个常规的JAR放到你的类路径里。
- 微内核方式:将你的应用放到独立的内核里。
更多信息参考用例与部署场景。
商业支持
AKKA由Typesafe Inc.按照包含开发与生产支持的商业许可证开发,更多内容请读这里。
译者注:本人正在翻译AKKA官网文档,本篇是文档第一章,欢迎有兴趣的同学加入一起翻译。更多内容请读这里:https://tower.im/projects/ac49db18a6a24ae4b340a5fa22d930dc/todos/640e53d6e8c149ab95c47cd333b91073/