akkaを使って
社内ツールを作った話

2014/03/15 #新宿Scala座 '14年 3月号 - @nisshieeorg

自己紹介

akka

akkaとは

  • Actorモデルによるシステム構築をサポートするFramework
  • akka自体はScalaで実装
    • ScalaAPIとJavaAPIの両サポート
  • Let it crash!
  • プロセス間・ノード間のメッセージングも

今回のネタ

去年の7月頃に、akkaベースの社内ツールを作った

それをベースに、「akka使うと例えばこんなのが簡単にできますよー」というお話を

要件

要件

デモ1

フロントWebAppとバックエンドをakkaでつないでみる

git clone https://github.com/nisshiee/demo20140315.git
cd demo20140315
git checkout example1

# console1
cd demo20140315/akka-front
./skinny run

# console2
cd demo20140315/akka-back
./sbt test:run

http://localhost:8080/

デモ1

デモ2

「進捗どうですか」

git checkout example2

# console1
cd demo20140315/akka-front
./skinny run

# console2
cd demo20140315/akka-back
./sbt test:run

デモ2

デモ3

「間違えたら止めたい」

git checkout example3

# console1
cd demo20140315/akka-front
./skinny run

# console2
cd demo20140315/akka-back
./sbt test:run

まとめ

こんなケースにはakkaいい感じ!

  • プロセスやノードを超えてメッセージング
  • 処理をキックするだけでなく途中で状況返させたい
  • 処理の途中で挙動に介入したい