Developers.IO 2017セッション「E2 Akka Streams とScala で実装する マルチメディア・オンラインサーバの世界」 #cmdevio2017
弊社カンファレンスイベント Developers.IO 2017 での登壇レポートです。
登壇資料
セッション概要
リアクティブシステムを構築するためのライブラリ群 Akka。その中でもとりわけリアルタイム性を求めるときに有力候補となるのが Akka Streams です。強力なライブラリであることは間違いないのですが、日本語の資料が少なくとっつきにくい、「何が作れるのか?」の情報が不足しているといったことを感じています。そこで、自分でいくつかサーバサイドアプリケーションを実装してみて、内容を皆様と共有することで、少しでも Akka の楽しさに触れていただく、というのがこのセッションの目的でした。
メインはソースコードリーディング
特に MergeHub と BroadcastHub については、Publish / Subscribe の仕組みを作るときキーになる上、 Akka Streams の中でもかなり特殊な部品です。前後の流れを含め考えるとソースコードを一緒に読むことが最善と考えました。公開したセッションスライドには、ソースコードリーディングでお話したポイントを記録し公開しています。
ビデオチャットやゲームサーバを作ることができた
Akka Streams を使って、リアルタイム性が求められるサーバーアプリケーションを作ることが出来ました。ポテンシャルが高く、まだまだ活用できるユースケースがあると思います。昨今、 AWS を筆頭に、わざわざ自分でコードを書かなくてもサービスやミドルウェアを使ってサーバーアプリケーションを構築できる世の中ですが、Akka 含めそれらは二者択一ではなく、いかにうまく組み合わせて要件を満たすかが勝利へのカギだと思います。参加してくださった皆様が、Akka Streams がどういうものかを感じ取っていただけたら幸いです。
7月29日の Scala福岡2017 でも登壇します
こちらの内容、さらに例を増やして Scala福岡2017 でもお話する予定です。Scalaパワーで世の中をもりあげていきましょう!