【登壇資料】Akka Streams で作るリアルタイムサーバ #scalafukuoka

2017年7月29日(土)、ヌーラボ福岡オフィスにて Scala福岡2017 が開催されました。

「Akkaちゃんと遊ぼう! Akka Streams で作るリアルタイムサーバ」というセッションで登壇しましたので、レポートします。

me

Scala福岡全体の様子については、以下のブログを参照してください。

使った資料

話したポイント

ナイスな Akka のライブラリ Akka Streams を使って文字チャット、ビデオチャット、ゲームサーバを実装した例を示しました。日本語の資料が少なく、私自身もなかなかとっつきにくいな、という印象を受けていたので、それだったら自分で何かつくってみようと考えたのがきっかけです。

Akka Streams は、素晴らしい部品、Mergehub と Broadcasthub があります。これらを使うと、簡単に Publish / Subscribe チャネルを実装できます。このチャネルを使うことで、多対多、かつリアルタイムでデータをやりとりするタイプの処理を実装可能です。

文字チャット

chat

ビデオチャット

video-chat

ゲームサーバ

game

WebSocket でクライアントとつなぐことでかなり応用範囲が広がります。

感想

特に Akka Streams となるとなかなか使っている方はいないだろうなぁ、と思っていたのですが、プロダクションコードで使っている会社さんもあるようでかなり驚きました。9月9日に開催される Scala関西サミット では Akka Streams の話もたくさん出てくるようです。 Akka Streams に興味が 湧いた方は、Scala関西にも参加してみてはいかがでしょうか!

Scala 福岡も、2018年また開催予定です!そのときまでにさらにウデを上げてコミュニティの発展に一役買えるようがんばります!

参考資料