akka-java-examples, 在Java中,各种akka模式的实现

分享于 

3分钟阅读

GitHub

  繁體 雙語
Example implementation of various akka patterns in Java
  • 源代码名称:akka-java-examples
  • 源代码网址:http://www.github.com/royrusso/akka-java-examples
  • akka-java-examples源代码文档
  • akka-java-examples源代码下载
  • Git URL:
    git://www.github.com/royrusso/akka-java-examples.git
    Git Clone代码到本地:
    git clone http://www.github.com/royrusso/akka-java-examples
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/royrusso/akka-java-examples
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Java中的 Akka示例

    使用Akka和Java的几个例子。 这些示例具有共同的基本结构:

    • 用Java编码。
    • 群集Akka设置。
    • logback/sl4j日志文件。日志文件位于 root 路径下: /logs
    • Akka配置启用了大多数日志选项。 ( chatty )

    在IDE中,通过执行相应的org.royrusso.app.System 类中的Main 方法,所有示例都是可以运行的。

    简单的Akka示例

    /simple:: 最简单的Akka示例。 创建处理命令的角色。

    Akka父组件

    /parent-child:: 本示例演示如何配置分层参与者关系的Akka集群。 这个集群包含父角色,在给定命令后,将事件发送给子参与者进行处理。

    带EventSourcing的 Akka持久性

    /eventsourcing-persistence:: 使用事件源的新Akka持久性模块的用法。 Akka处理器负责处理生成事件的非持久命令。 持久化事件,然后允许修改处理器的状态。 此外,事件通过eventstream进行广播。

    在恢复期间,系统加载持久化事件并将它们重播到处理器。

    重新启动时,系统将从最新快照( snapshot 目录) 加载它的最新状态,并在该点之后重播所有已经记录的( journal 目录) 事件。

    注释:

    • LevelDB在这个例子中用于持久化。
    • /snapshots 包含处理器状态的快照。
    • /journal 包含运行中的事件日志。

    Akka持久通道

    persistent-channel:: 演示如何在侦听信道的参与者之间发送/接收负载。 消息被保持,直到有有效的确认被目标参与者接收,然后被删除。 这个例子还说明了目标参与者如何响应一个 ack。

    Akka事件总线

    在这里我们展示了在订阅某些事件类型的参与者时,如何使用EventStream来侦听特定事件类型发出的消息。