Akka 2.4 M3 发布,相比 M2 版本,更新内容如下:
experimental stream based API for the Query Side of Akka Persistence (implementations must be provided by query plugins corresponding to the journal plugins for the various data stores)
Akka Persistence event adapters to support separation between domain events and storage representation (not necessarily as bytes)
comprehensive documentation of strategies for schema evolution of persistent events
Activator template for Distributed Data in both Java and Scala
pruning of Cluster vector clocks to avoid growth of Cluster gossip message size when nodes are frequently added and removed
detect and repair corrupt event streams when replaying Akka Persistence events, such problems may happen when there is a network partition and auto-downing splits the cluster into two separate clusters
更多改进内容请看 发行说明 。
下载: https://github.com/akka/akka/archive/v2.4-M3.zip 。
Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。
Actor模型并非什么新鲜事物,它由Carl Hewitt于上世纪70年代早期提出,目的是为了解决分布式编程中一系列的编程问题。其特点如下:
系统中的所有事物都可以扮演一个Actor
Actor之间完全独立
在收到消息时Actor所采取的所有动作都是并行的,在一个方法中的动作没有明确的顺序
Actor由标识和当前行为描述
Actor可能被分成原始(primitive)和非原始(non primitive)类别
非原始Actor有
由一个邮件地址表示的标识
当前行为由一组知识(acquaintances)(实例变量或本地状态)和定义Actor在收到消息时将采取的动作组成
消息传递是非阻塞和异步的,其机制是邮件队列(mail-queue)
所有消息发送都是并行的