6.2.1 令 GoTicks 应用成为分布式

Akka-in-action 中的 chapter6 目录下包含第二章例子的修改版本。 你也可以跟随这里的讲解对第二章的例子进行修改。 我们要做的第一件事是在 SBT 构建文件中增加对 akka-remote 和 akka-multinode-testtik 的依赖关系,

Listing 6.1 分布式 GoTicks 中对构建文件的修改

libraryDependencies ++= {
  val akkaV       = "2.2-M3"
  val sprayV      = "1.2-M8-SNAPSHOT"
  Seq(
    "com.typesafe.akka" %% "akka-actor"
    "com.typesafe.akka" %% "akka-slf4j"
    "com.typesafe.akka" %% "akka-remote"
    "com.typesafe.akka" %% "akka-multi-node-testkit" % akkaV % "test",
    "com.typesafe.akka" %% "akka-testkit" % akkaV % "test",
    "org.scalatest"     %% "scalatest"    % "1.9.1" % "test",
    "io.spray"          %% "spray-can"    % sprayV,
    "io.spray"          %% "spray-routing" % sprayV,
    "io.spray"          %% "spray-json" % "1.2.3",
    "com.typesafe.akka" %% "akka-slf4j" % akkaV,
    "ch.qos.logback"    %  "logback-classic" % "1.0.10"
    )
}
  • 对 akka-remote 模块的依赖
  • 对测试分布式 actor 系统的 multi-node testkit 的依赖

当你开始 sbt, 或者你运行 sbt update 来显式地拉取依赖关系,这些依赖被自动拉取。 既然我们更新了依赖,开始出发,我们来看看我们为连接前端与后端需要做出的改变。 前端与后端的 actors 需要得到他们合作者的引用,这是下一节的主题。