Use-case and Deployment Scenarios

Use-case and Deployment Scenarios

How can I use and deploy Akka?

Akka can be used in different ways:

Native Packager

sbt-native-packager is a tool for creating distributions of any type of application, including an Akka applications.

Define sbt version in project/build.properties file:

sbt.version=0.13.7

Add sbt-native-packager in project/plugins.sbt file:

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.0-RC1")

Use the package settings and optionally specify the mainClass in build.sbt file:

注釈

Use the JavaServerAppPackaging. Don't use the deprecated AkkaAppPackaging (previously named packageArchetype.akka_application), since it doesn't have the same flexibility and quality as the JavaServerAppPackaging.

Use sbt task dist package the application.

To start the application (on a unix-based system):

cd target/universal/
unzip akka-sample-main-scala-2.4.11.zip
chmod u+x akka-sample-main-scala-2.4.11/bin/akka-sample-main-scala
akka-sample-main-scala-2.4.11/bin/akka-sample-main-scala sample.hello.Main

Use Ctrl-C to interrupt and exit the application.

On a Windows machine you can also use the bin\akka-sample-main-scala.bat script.

In a Docker container

You can use both Akka remoting and Akka Cluster inside of Docker containers. But note that you will need to take special care with the network configuration when using Docker, described here: Akka behind NAT or in a Docker container

For an example of how to set up a project using Akka Cluster and Docker take a look at the "akka-docker-cluster" activator template.

Contents