18
Akkaの運用の話() Akka meetup 2014 sep 2014.09.28(sun)

Akka meetup 2014_sep

Embed Size (px)

DESCRIPTION

akka

Citation preview

Page 1: Akka meetup 2014_sep

Akkaの運用の話(仮)Akka meetup 2014 sep

2014.09.28(sun)

Page 2: Akka meetup 2014_sep

お前誰よ• @Masahito

• P2P File Transfer Engineer at Skeed Co. Ltd.

• I work with (Scala + Java) & JVM

• PyConJP2014 Speaker

Page 3: Akka meetup 2014_sep

Akkaつかってる?

Page 4: Akka meetup 2014_sep

https://twitter.com/DesignUXUI/status/490179377099845632

Page 5: Akka meetup 2014_sep

今日話すこと• 運用を見据えた話

• Akka Actorの話しかしませんよ• とりあえず使った方がいい機能• どんな構成考える?

Page 6: Akka meetup 2014_sep

今日話さないこと• 実際の運用について• チューニング(用途に依存するため)

Page 7: Akka meetup 2014_sep

Akka個人的にうれしい点• メッセージ(Message)が順番制御できる

• Actor内だとリソースのlockいらず• メリットであり、デメリット

• SuperVisonTree

• Mement Mori

• JVM版のOTP的なきのー

Page 8: Akka meetup 2014_sep

とりあえず使った方がいい機能• ActorLogging

• akka-slf4j

• config

• Akka FSM

Page 9: Akka meetup 2014_sep

Loggingclass MyActor extends Actor with akka.actor.ActorLogging { override def preStart() = { log.debug("Starting") }}

↓フツーはapplication.confをclasspathが通ってるとこにおく val config = ConfigFactory.parseString( """ akka { loggers = ["akka.event.slf4j.Slf4jLogger"] loglevel = "DEBUG" logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" } """)

val as = ActorSystem("test", config)

Page 10: Akka meetup 2014_sep

参考• http://doc.akka.io/docs/akka/2.3.6/java/logging.html

• http://doc.akka.io/docs/akka/2.3.6/general/configuration.html

• http://doc.akka.io/docs/akka/2.3.6/scala/fsm.html

Page 11: Akka meetup 2014_sep

よく使うbuild.sbtname := "testProject"

version := "0.1"

scalaVersion := "2.10.4"

libraryDependencies ++= Seq( "com.typesafe.akka" %% "akka-actor" % akkaVersion, "com.typesafe.akka" %% "akka-slf4j" % akkaVersion, "ch.qos.logback" % "logback-classic" % "1.1.2")

Page 12: Akka meetup 2014_sep

構成について• コードだけだとよくわからなくなりがち

• 絵を残すの大事• 人のコードは読めなくなりがち• シーケンス図もあるとベター• とくにActor間のつながりなど• どのタイミングでどんなメッセージ投げるとか忘れがち

Page 13: Akka meetup 2014_sep
Page 14: Akka meetup 2014_sep

コード例https://gist.github.com/masahitojp/422be22884c2e575b338

突っ込み願います

Page 15: Akka meetup 2014_sep

書籍• Akka 公式ドキュメント

• Activatiorにあがってるソースを読むのがオススメ• Akka in Action(オススメ!)

• すごいErlangゆかいに学ぼう!

Page 16: Akka meetup 2014_sep

まとめ• 基本的な機能を使うだけでもうれしいものが書ける

• Akka is DSL

• Akka使ってるとJavaを意識すること多いよね• LoggerとかLoggerとか• ThreadPoolとかとか(Futureでもそーだけど

Page 17: Akka meetup 2014_sep

Akkaの運用(仮)から(仮)がとれましたか?

Page 18: Akka meetup 2014_sep

 Thanks!