たなかこういちの資料室

システム開発に携わる筆者があれこれ試したことや学んだことについてのまとめ

「Akka」とは?

イントロダクション
 

「Akka」とは、ScalaおよびJava向けの並列および分散処理フレームワークです。Apache 2 Licenseの元で配布されるOSSです。

 
一つのJVM上で(マルチマシンに分散させず、マルチスレッドのみで)並列処理を稼働させる場合と、それをマルチマシンに分散させて並列処理を稼働させる場合とで、Akkaを利用するScalaもしくはJavaアプリケーションのコードを一切手直しする必要が無いことが特徴です。
 
Akkaそれ自体ScalaJavaで実装されていて、複数の.jarファイルとして提供されています。Akkaの利用形態には二種類あります。一つ目は"as a library"、もう一つは"as a microkernel"と称されるものです。
 
"as a library"
 
一般的なWebアプリケーションにおいて、それが依存するいくつかの.jarの一つとして、"WEB-INF/lib"配下などにAkkaの.jarファイルも配置する利用方法。
 
この形態では分散構成ができないと思われます。(※本記事執筆時点で未確認)
 
"as a microkernel"
 
「Akka Microkernel」と称される、(アプリケーションサーバーを必要としない)スタンドアロンプロセスとして起動するような利用方法。この形態では、Akkaを利用するアプリケーション(の.jarファイル)は、Akka Microkernelのプロセスによってロードされ実行されます。
 
この形態は分散構成をするときには必須となると思われます。(※本記事執筆時点で未確認)
 
「TYPESAFE」社と「TYPESAFE PLATFORM」について
 
「Akka」を利用しようとすると、「TYPESAFE」という固有名詞が登場します。「TYPESAFE」とは何かについて、TYPESAFE社の「About」ページより引用します。
 
"Typesafe was founded in 2011 by the creators of the Scala programming language and the Akka runtime, who joined forces to create a modern software platform for the era of multicore hardware and cloud computing workloads."
 
"Typesafe provides an easy-to-use packaging of Play Framework, Akka, Scala and developer tools via the Typesafe Platform, which is designed to meet the needs of today's most demanding software engineering projects;"
 
即ち、「TYPESAFE」とは、Scala、Akka、Play Frameworkを一つにまとめて「TYPESAFE PLATFORM」という統合開発環境を提供しようという、ScalaとAkkaの開発者によって設立された企業、ということです。
 
関連
 
 
参考
 
- Akka本家 : http://akka.io/
- TYPESAFE社 : http://typesafe.com/
 
◆以上