原文:http://doc.akka.io/docs/akka/2.3.6/intro/what-is-akka.htmll 译者:吴京润
可扩展的实时事务处理
我们相信编写并发、容错、可扩展的应用相当的困难。盖因大多数时候我们一直在使用错误的工具和错误的抽象等级。AKKA就是为了改变这一切的。我们利用角色模型提升了抽象等级,并且提供了一个用来构建可扩展的、弹性的以及响应式应用的更好的平台——更多信息请见Reactive Manifesto。对于容错机制我们采用“让它崩溃”模型,这一模型已在电信行业取得了巨大的成功,旨在构建自我修复与永不停机的系统。角色还提供了透明的分布式抽象以及真正的可扩展且容错应用的基础。
AKKA是开源的,并遵守Apache2许可。
请注意所有代码样例的编译,因此如果你想直接访问这些源码,可以去github上访问AKKA文档子项目:Java和Scala。
AKKA实现了一个独特的混合
角色
角色给你提供了:
- 并发与并行性的高等级抽象
- 异步、无锁以及高性能的事件驱动编程模型
- 非常轻量级的事件驱动流程(1GB堆内存可容纳几百万的角色)
容错
- 拥有“让它崩溃”语义的管理层级
- 管理层级可跨越多个JVM,实现真正的容错系统
- 非常适合编写可自我修复且永不停机的高容错能力的系统
位置透明
AKKA的一切旨在分布式环境中工作:角色之间都使用纯消息交互,而且一切都是异步的。
持久化
启动或重启角色时,可以选择持久化或重放它接收到的消息。在JVM崩溃或角色迁移到另一节点时,这一点可以使角色恢复它的状态。
Scala和Java API
AKKA有两种使用方式
- 作为一个库:将它放到WEB-INF/lib下面供一个web应用使用,或把它当作一个常规的JAR放到你的类路径里。
- 微内核方式:将你的应用放到独立的内核里。
更多信息参考用例与部署场景。
商业支持
AKKA由Typesafe Inc.按照包含开发与生产支持的商业许可证开发,更多内容请读这里。
译者注:本人正在翻译AKKA官网文档,本篇是文档第一章,欢迎有兴趣的同学加入一起翻译。更多内容请读这里:https://tower.im/projects/ac49db18a6a24ae4b340a5fa22d930dc/todos/640e53d6e8c149ab95c47cd333b91073/
时间: 2024-09-07 20:25:02