14
実践akka @huydx Adtech studio

実践Akka

  • Upload
    huy-do

  • View
    121

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 実践Akka

実践akka

@huydx Adtech studio

Page 2: 実践Akka

ScalaおよびJava向けの並列および分散処理フレームワー

クです。

Page 3: 実践Akka

Actor == 人

Page 4: 実践Akka
Page 5: 実践Akka

Actorに関する概念

• Dispatcher

• MailBox

• Tell/Ask

• Supervisor

• Eventbus

Page 6: 実践Akka

Actorに関する概念

• Dispatcher

• MailBox

• Tell/Ask

• Supervisor

• Eventbus

Executor Pool

Message Queue

RPC

Manager

Pub/Sub

Page 7: 実践Akka

Actorってなのためのもの?

Page 8: 実践Akka

•Concurrency? •Parallelism?

Page 9: 実践Akka

•Concurrency? •Parallelism?

Page 10: 実践Akka

Java世界では?

• 並行処理プログラミングが難しい

• @volatile, share variable, mutex, synchronized, lockなどなど

• Concurrent Packageでだいぶ助かった • Atomic 変数、Executor Pool….

Page 11: 実践Akka

Actor世界では?

• 全部ノンブロッキング

• メールボックスの中のものを順次に処理する

Page 12: 実践Akka

Faq

• 共有なメモリを使いたい?

• 共有メモリを管理する専用Actorを利用して、そのActorに問い合わせする

• Actorに送ったメッセージすぐ回答もらいたい?

• Askパータンが用意されている

Page 13: 実践Akka

Actorの他にいいところ

• Monitoring構成で失敗したActor・処理できないメッセージを簡単にリーランできる(self-

healingシステム実現可能)

• Actorはアドレス・パスで管理しやすい

• Remote Actorで分散システムが実現可能

Page 14: 実践Akka

設計Faq

• できるだけ一つのActorが小さいなタスクをやるべき

• 設計するときに失敗するシナリオを考えるべき(let-

it-crash)

• Actor Systemをたくさん作らない

• メッセージをシリアライズできるものしか送らない