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

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

可扩展的实时事务处理

我们相信编写并发、容错、可扩展的应用相当的困难。盖因大多数时候我们一直在使用错误的工具和错误的抽象等级。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/

时间: 2024-09-07 20:25:02

AKKA文档(java版)——什么是AKKA?的相关文章

AKKA文档(java版)—角色的引用、路径和地址

2.5 角色的引用.路径和地址 这一章描述,角色在一个有可能是分布式的角色系统中是如何被识别和定位的.它关系到了角色系统形成的内在监管层级以及角色跨越多个网络节点之间通信的位置透明化. 上述图片显示了角色系统中几个最重要实体之间的关系,请仔细阅读.   2.5.1什么是一个角色引用? 一个角色引用是ActorRef的一个子类型,它的主要目的是为它所代表的角色提供发送消息的功能.每个角色可以通过self字段访问自己指定(本地)的引用,这个引用包括发送者引用,默认会发送所有消息给别的角色.相反的,在

AKKA文档(java版)—类型化角色

3.2 类型化角色 Akka的类型化角色是活动对象(Active Object)模式的实现.Smalltalk诞生的时候,默认的方法调用由异步派发代替同步操作. 类型化角色由2部分组成,包括一个公共的接口和实现,如果你有"企业级"Java的开发经验,这对你来说会非常熟悉.与普通的角色一样,你有一个外部的API(公共接口实例),将异步的方法调用委托给实现类的一个私有实例. 类型化角色对比角色的优势是你可以有一个静态的约定,而不需要去定义你自己的消息,不好的一面就是它会限制你能做什么和不能

AKKA文档(java)——术语,概念

原文:http://doc.akka.io/docs/akka/2.3.6/general/terminology.html 译者:吴京润 本章我们试图建立一个通用的术语列表,用来定义有关并发和分布式系统的坚实的基础,而这也是akka的目标.请注意,在这些术语当中许多并没有一致的定义.我们简单的寻求在akka文档范围内使用的工作定义. 并发与并行 并发与并行是相关的概念,但是也有很多细节上的差异.并发意味着两个或更多的任务正在取得进展,即使它们不是同时执行的.例如,可以用时间片的方式实现这一点,

word文档横版变成竖版的图文教程

1.点击 文件 -- 页面设置. 文档横版变成竖版的图文教程-竖版照片怎么变成横版"> 2.将纵向改成横向,另外最下面默认也要点一下,不然你这次改完后下次再打开word文档又得重新设置.最后确定即可. 3.最后横版的就变成竖版了.

android平台api帮助文档---android版的MSDN

android平台api帮助文档---android版的MSDN            做android应用开发,现在网上的资料大把大把的,但是都是零零碎碎的,有时候去查一个接口得去android官方网站http://developer.android.com/develop/index.html,由于网络速度问题,有时候要很久才能出来,真急死人了,那有没有快捷一点的方式呢?         当然有.那就是把android SDK api帮助文档都下下来,但是怎么下呢?         第一步:

AKKA文档(java版)—角色

原文地址  译者:Zhanggc      审校:吴京润 角色 角色模型对编写并发.分布式系统进行了高度抽象.它减轻了开发者必须对互斥锁与线程管理的负担,更容易编写出正确的并发与并行系统.早在1973 年 Carl Hewitt 发表的论文中定义了角色,但一直流行于Erlang 语言中,随后被爱立信公司应用于建立高并发.可靠通信系统,取得了巨大成功. Akka 框架里面角色的API 跟Scala 框架里面角色相似,后者一些语法曾经模仿Erlang语言. 创建角色 注意:由于Akka强迫父级监管者

AKKA文档(Java版)—建立有限状态机角色

原文地址  译者:Zhanggc 建立有限状态机角色 概述 有限状态机模式在Erlang design principles里面被很好描述出来.简而言之,它可以被视为一组关系: State(S) x Event(E) -> Actions (A), State(S') 这些关系描述为: 如果我们在状态S 和 时间E 发生,我们应该执行动作A 与转换到状态S'. 而Scala 程序语言使构建一个良好内部DSL(领域特定语言)成为可能,后者用于规划有限状态机(请见FSM).对于用同样方法,由于Jav

AKKA文档(java版)

目前我正在翻译AKKA官网文档.翻译:吴京润 译者注:本人正在翻译AKKA官网文档,本篇是文档第一章,欢迎有兴趣的同学加入一起翻译. 1.    介绍 1.1    什么是AKKA? 1.2    为什么选择AKKA? 1.3    AKKA入门 1.4    hello world 1.5    用例与部署场景        1.6    akka的用例示例 2.   综述        2.1   术语,概念        2.2   角色系统        2.3   什么是角色    

AKKA文档(java版)—位置透明性

2.6 位置透明性 前一章节描述了如何使用角色路径来实现位置透明性.这一个特性应该需要一些额外的说明,因为与之关联的术语"transparent remoting"(透明的远程处理)在编程语言.平台和技术中的用法是不一样的. 2.6.1 默认分布式 Akka中的所有事物被设计成用于分布式环境中:角色之间的交流都是纯信息传递,并且是同步的.这一成就已经被用于确保所有的功能在单个JVM或者在拥有数以百计的机器的集群中运行都同样有效.实现这一功能的关键在于从远程到本地的优化代替试图从本地到远