akkaのそれぞれのモジュールの依存関係図

細かく文章で解説書こうかと思ったけれど、面倒になってきたし、図を貼ったほうがわかりやすいので、貼っておく

http://xuwei-k.github.io/akka-2.3.3-dependency-graph.svg


この前と同じく、akkaのversionは、これ書いている時点の最近安定版である2.3.3です。
akka-persistence-experimentalがlevel dbに依存していて、その先の依存が結構多いですね。akka-actorそのものは、typesafe configのみの依存なので、そういう意味ではコアはべつに依存多くありません。
あとは、akka-remoteはnettyに依存してるというのは知っておいたほうがいいかも?最近、non blokingである程度パフォーマンスを追求してるライブラリはnettyを内部的に使用してることが多く(たまたまかもしれないが)、nettyがぶつかることが多いなーという気がするので。


ちなみに、この図自体はこれ

https://github.com/gilt/sbt-dependency-graph-sugar

で作りました。sbt-dependency-graph

https://github.com/jrudolph/sbt-dependency-graph

は、すでにある程度有名かと思いますが、デフォルトでは、単なるascii-artで図を出力か、.dotというファイルなどを吐いてくれるのですが、sbt-dependency-graph-sugarのほうは、コマンド一発で簡単にSVG出力したり、sbt-dependency-graphをラップして、ちょっと便利にしたものです。