Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

実践Akka

879 views

Published on

社内勉強会のAkka発表資料

Published in: Engineering
  • Be the first to comment

実践Akka

  1. 1. 実践akka @huydx Adtech studio
  2. 2. ScalaおよびJava向けの並列 および分散処理フレームワー クです。
  3. 3. Actor == 人
  4. 4. Actorに関する概念 • Dispatcher • MailBox • Tell/Ask • Supervisor • Eventbus
  5. 5. Actorに関する概念 • Dispatcher • MailBox • Tell/Ask • Supervisor • Eventbus Executor Pool Message Queue RPC Manager Pub/Sub
  6. 6. Actorってなのためのもの?
  7. 7. •Concurrency? •Parallelism?
  8. 8. •Concurrency? •Parallelism?
  9. 9. Java世界では? • 並行処理プログラミングが難しい • @volatile, share variable, mutex, synchronized, lockなどなど • Concurrent Packageでだいぶ助かった • Atomic 変数、Executor Pool….
  10. 10. Actor世界では? • 全部ノンブロッキング • メールボックスの中のものを順次に処理する
  11. 11. Faq • 共有なメモリを使いたい? • 共有メモリを管理する専用Actorを利用して、 そのActorに問い合わせする • Actorに送ったメッセージすぐ回答もらいたい? • Askパータンが用意されている
  12. 12. Actorの他にいいところ • Monitoring構成で失敗したActor・処理できな いメッセージを簡単にリーランできる(self- healingシステム実現可能) • Actorはアドレス・パスで管理しやすい • Remote Actorで分散システムが実現可能
  13. 13. 設計Faq • できるだけ一つのActorが小さいなタスクをやるべ き • 設計するときに失敗するシナリオを考えるべき(let- it-crash) • Actor Systemをたくさん作らない • メッセージをシリアライズできるものしか送らない

×