Akka 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Akka 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Akka 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Scala 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2011-02-17

软件简介

Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。

Actor模型并非什么新鲜事物,它由Carl Hewitt于上世纪70年代早期提出,目的是为了解决分布式编程中一系列的编程问题。其特点如下:

  • 系统中的所有事物都可以扮演一个Actor

  • Actor之间完全独立

  • 在收到消息时Actor所采取的所有动作都是并行的,在一个方法中的动作没有明确的顺序

  • Actor由标识和当前行为描述

  • Actor可能被分成原始(primitive)和非原始(non primitive)类别

  • 非原始Actor有

    • 由一个邮件地址表示的标识

    • 当前行为由一组知识(acquaintances)(实例变量或本地状态)和定义Actor在收到消息时将采取的动作组成

  • 消息传递是非阻塞和异步的,其机制是邮件队列(mail-queue)

  • 所有消息发送都是并行的

Java 代码:

public class Greeting implements Serializable {
  public final String who;
  public Greeting(String who) { this.who = who; }
}
 
public class GreetingActor extends UntypedActor {
  LoggingAdapter log = Logging.getLogger(getContext().system(), this);
 
  public void onReceive(Object message) throws Exception {
    if (message instanceof Greeting)
      log.info("Hello " + ((Greeting) message).who);
  }
}
 
ActorSystem system = ActorSystem.create("MySystem");
ActorRef greeter = system.actorOf(Props.create(GreetingActor.class), "greeter");
greeter.tell(new Greeting("Charlie Parker"), ActorRef.noSender());

Scala 代码:

case class Greeting(who: String)
 
class GreetingActor extends Actor with ActorLogging {
  def receive = {
    case Greeting(who) ⇒ log.info("Hello " + who)
  }
}
 
val system = ActorSystem("MySystem")
val greeter = system.actorOf(Props[GreetingActor], name = "greeter")
greeter ! Greeting("Charlie Parker")

 

在线 API doc :http://tool.oschina.net/apidocs/apidoc?api=akka2.0.2%2Fapi

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(6) 发布并加入讨论🔥
发表了资讯
2022/12/16 07:07

Akka 2.8.0-M2 发布,Scala 编写的 Actor 模型开发库

Akka 2.8.0 第二个开发版的里程碑版本现已发布。Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。2.6.0-M2 中值得注意的变更包括: chore:调整提交消息建议 #31755 将 sbt-java-formatter 更新为 0.8.0 #31742 ci:回到旧版本的 setup-gcloud #31763 ci:允许检查和 PR 写入以附加 surefire 报告 #31762 chore:修复 doc sampes 中的 jdk8 编译错误 #31767 chore:删除不推...

6
1
发表了资讯
2022/10/21 07:40

Akka v2.7 发布,从 Apache 改为 BSL 许可

Akka 是一个原本采用 Apache 2.0 许可的工具包和运行时,能够简化 JVM 上并发和分布式应用的构建。Akka 支持多种并发的编程模型,其灵感来自于 Erlang。Akka 的首个版本于 2009 年发布,距今已有 13 年积极维护的历史,该项目在 GitHub 上有 12.5k Stars。 在上个月(点击查看之前报道),Lightbend(Akka 项目背后的公司)的创始人兼 CEO、Akka 的作者 Jonas Bonér 表示: 我们决定改变 Akka 的许可,以确保各方之间的健康平衡...

0
3
发表了资讯
2022/09/09 08:51

面对风险和负担,Akka 从开源转 “闭源”

Akka 是一个原本采用 Apache 2.0 许可的工具包和运行时,能够简化 JVM 上并发和分布式应用的构建。Akka 支持多种并发的编程模型,其灵感来自于 Erlang。Akka 的首个版本于 2009 年发布,距今已有 13 年积极维护的历史,该项目在 GitHub 上有 12.4k Stars。 目前包括 Adobe、苹果、Google、微软、亚马逊、迪士尼、通用汽车、星巴克和特斯拉等财富 500 强中的公司都是 Akka 的用户。 Lightbend(Akka 项目背后的公司)的创始人兼 ...

5
5
发表了资讯
2022/03/23 07:01

Akka 2.6.19 发布,Scala 编写的 Actor 模型开发库

Akka 2.6.16 现已发布,这是 2.6 的一个补丁版本,一共修复了 99 个问题。Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 一些亮点更新内容如下: 修复连接未重新建立后无法访问的问题 修复通过消息适配器订阅 DeadLetters 时的 StackOverflowError 增加对 advanced/composite passivation 策略的支持 在 EventSourcedBehaviorTestKit 中设置初始状态 在 QueueOfferResult...

0
2
发表了资讯
2021/08/28 07:33

Akka 2.6.16 发布,Scala 编写的 Actor 模型开发库

Akka 2.6.16 现已发布,这是 2.6 的一个补丁版本,一共修复了 44 个问题。Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 一些亮点更新内容如下: 添加 Durable State persistence。Durable State 是一个新的 persistence model,是对 Event Sourced persistence 的补充。 排除 Sharding 使用的 Read/Write MajorityPlus 中的 exiting members #30327 优雅地终止分片区域会...

0
0
发表于服务端专区
2020/08/07 08:15

Akka 2.6.8 发布,修复 v2.6.7 集群分片严重回退

Akka 2.6.8 发布了,这主要是 2.6.7 中引入的一个回退的修复版本,一共修复了 9 个问题。Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 Akka 集群分片中出现了一个相对严重的回退 bug #29383,使用 Akka 集群分片时将被触发,并且实体将在没有进行 passivate 的情况下终止,这将导致完整的分片崩溃,并且分片中的其它实体将被停止,直到它们收到下一条消息,继而导致重新...

1
3
发表于开发技能专区
2019/05/26 07:28

Akka 2.6.0-M2 发布,Scala 编写的 Actor 模型开发库

Akka 2.6 第二个开发版的里程碑版本已发布。 Akka 2.6 二进制向前兼容 2.5 版本,这份文档列出了一些例外情况。如果从 2.5 升级到 2.6,可能需要进行一些配置更改,请首先阅读迁移指南。 另外要注意的是,从 2.6.x 开始,将不再支持 Scala 2.11 及更低版本。 2.6.0-M2 中值得注意的变更: 使用 Jackson 序列化工具以作为 Java 序列化的替代方案。它尚未具备完整的功能,但足以进行首次试用,请参阅文档 #26870。 在 JDK 中使用标...

2
4
发表于软件架构专区
2018/09/28 05:37

Akka 2.5.17 发布,Scala 编写的 Actor 模型开发库

Akka 2.5.17 发布了,这是 Akka 2.5 系列的最新补丁版本。2.5.17 中包括以下值得关注的改进和 bug 修复: 删除 ORSet[ActorRef] 的滚动升级序列化 #25336。其中包含滚动升级的一份指南。 不会自动关闭隔离的节点 #25632) 修复 Flow.monitor 的签名(源码不兼容) #24812 提升了在 Cluster Sharding 中删除快照的效率,与 Cassandra 插件版本 0.90 一起使用 #25590 使用 Sink.foreachAsync 替换 Sink.foreachParallel #25622 建议...

0
3
发表于AI & 大数据专区
2018/08/30 07:15

Akka 2.5.16 发布,Scala 编写的 Actor 模型开发库

Akka 2.5.16 发布了,这是 Akka 2.5 系列的最新补丁版本。它包含一个重要的安全修复程序,该漏洞会影响 Akka 系统,该系统使用带有 TLS 的 Akka Remoting/Cluster,并将 TLS 配置 random-number-generator 为 AES128CounterSecureRNG 或 AES256CounterSecureRNG。 如果启用了这些随机数生成器,攻击者将能够对通信进行破坏。有关详细信息,请参阅安全公告。 建议订阅 akka-security 邮件列表,以便及时获悉未来的安全问题。 自 ...

0
2
发表于服务端专区
2018/08/26 07:33

Akka 2.5.15 发布,Scala 编写的 Actor 模型开发库

Akka 2.5.15 发布了,这依然是 Akka 2.5 系列的一个新的补丁版本。2.5.15 中值得注意的改进和错误修复包括: 支持从 2.5.9 或更早版本的集群节点加入 2.5.15 的集群节点 #25491 改进文档中 ScalaFiddle 的集成,详情请查看 Akka Streams example #25431 改进 async-dns,请查看 #25451 和 #25454 新的 Sink.takeLast 操作符 #25322 自 2.5.14 以来,共关闭了 56 个 issue。完整变更列表可以在 GitHub 2.5.15 的里程碑上找到。 ...

0
4
发表于AI & 大数据专区
2018/05/31 07:51

Akka 2.5.13 发布,Actor 模型开发库

Akka 2.5.13 发布了,目前暂时没有发现相关更新信息,您可以留意官方更新网页了解详情。 Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 下载地址: Source code (zip) Source code (tar.gz)

0
4
发表于软件架构专区
2018/03/04 06:55

Actor 模型开发库 Akka 2.5.11 发布,修复回归错误

Akka 2.5.11 已发布,这是 Akka 2.5 系列的一个补丁版本。该版本修复了 Akka 2.5.10 中引入的回归错误,这个回归错误会导致 Akka Cluster 不能从 2.5.9 升级到 2.5.10。 自 2.5.10 以来,共关闭了 2 个 issue。完整变更列表可以在 GitHub 2.5.11 的里程碑上找到。 Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 更多内容请参阅发布主页,源码点此下载。...

0
3
发表于AI & 大数据专区
2018/02/25 06:57

Actor 模型开发库 Akka 2.5.10 发布,引入新功能

Akka 2.5.10 已发布,该版本包含了一些新的功能: 使用 TCP 和 TLS 的干线传输 StreamRefs - 网络上的响应流 (click for 5min video) 滚动更新配置验证 其他值得关注的改进和 bug 修复: Remove unused and quarantined outbound connections in Artery (memory leak), #23967 Fix blocking-io-dispatcher setting in Akka Streams, #24357 Fix bug that caused stashed timer messages to be discarded, #24557 Fix bug in au...

1
5
发表于AI & 大数据专区
2018/01/13 07:32

Actor 模型开发库 Akka 2.5.9 发布,2.4.x 生命周期结束

Akka 2.5.9 已发布,这是一个新的补丁版本,包含了一些小的修复,值得关注的 bug 修复有: 为 Artery 的 Aeron 升级至 1.7.0 #24169 集群分片的优化 #24064 和 #24191 用于 Address 的新的顶层 protobuf 序列化程序 #24265 该版本关闭了自 2.5.8 以来的 42 个 issue,完整的列表可点此查看。 另外,Akka 2.4.x 已于 2017 年 12 月 31 日结束了它的生命周期。从 2.4.x 系列升级到 Akka 2.5.x 不会太难,因为 2.5 会保持向后的二进...

0
3
发表了资讯
2017/09/30 07:58

Akka v2.5.6 发布,Actor 模型开发库

Akka v2.5.6 已发布,Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 除了正常的维护和改进,该版本还增加了很多新特性,主要如下: Support for Java 9 across the board (while maintaining Java 8 support) Support for java.util.concurrent.Flow interfaces in Akka Streams #23578 Akka Typed API previews for: Persistence #22273 #23693 Cluster #21226 Cluster...

2
8
发表了资讯
2017/08/11 06:54

Akka 2.5.4 和 2.4.20 发布,Actor 模型开发库

Akka 2.5.4 和 2.4.20 已发布,Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 由于 Camel 的安全漏洞,akka-camel 的用户建议将 Camel 更新至 2.17.7,将 akka-camel 更新至 2.5.4。 2.5.4 版本中一些值得关注的改进: New PartitionHub for routing of elements to dynamic streams, #21880 New timer API for scheduling messages in an actor to itself, #15733 New ...

2
8
发表了资讯
2017/06/20 07:11

Akka 2.5.3 发布,Actor 模型开发库

Akka v2.5.3 发布了。Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 Akka v2.5.3 是 2.5 的新补丁版本,包含一些显着的改进和错误修复: Fix Akka Remoting issue (ResendUnfulfillableException) after transport failure detection, #23010 Fix OversizedPayloadException in delta-CRDT propagation, #23025 Ability to snapshot PersistentFSM after set number of p...

4
6
发表了资讯
2017/06/14 07:31

Akka 2.4.19 发布,Actor 模型开发库

Akka 2.4.19 发布了。Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 该版本包含一些改进和 bug 修复,具体如下: 修复在 transport 故障检测后的 Akka Remoting 问题(ResendUnfulfillableException) 报告引起 Akka IO TCP CommandFailed 事件的原因 始终尝试将致命错误记录到 stderr 不再忽略使用“标记”(例如安全标记)logging 时的引起的错误 当订阅 cluster clie...

1
10
发表了资讯
2017/05/04 07:11

Akka v2.4.11.2 发布,Actor 模型开发库

Akka v2.4.11.2 发布了。Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 更新内容请参考提交记录。往期版本更新内容请查看发布说明。 下载地址: Source code (zip) Source code (tar.gz)

1
4
发表了资讯
2017/04/13 07:05

Akka 2.5.0 发布,Actor 模型开发库

Akka 2.5.0 发布了。Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 该版本暂无更新内容。 下载地址: Source code (zip) Source code (tar.gz)

6
9
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
6 评论
420 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部