Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Akka Stream x Kinesis at Shinjuku reactive meetup vol2

lightning talk at reactive meetup in Japan

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

  • Gehören Sie zu den Ersten, denen das gefällt!

Akka Stream x Kinesis at Shinjuku reactive meetup vol2

  1. 1. copyright Fringe81 Co.,Ltd. LT: Akka Stream x Kinesis 第2回Reactive System Meetup in 西新宿 2016/02/02 @mtoyoshi
  2. 2. copyright Fringe81 Co.,Ltd. @mtoyoshi Fringe81で働くScalaエンジニア 以前、関数型ストリーム処理勉強会でAkka Streamについて話しました http://www.slideshare.net/MasakiToyoshima/akka-stream-54843336
  3. 3. copyright Fringe81 Co.,Ltd. OutOfMemoryの危険 Actor Actor Akka StreamといえばBack-Pressure(?) 各ステージはBufferを持つのでした
  4. 4. copyright Fringe81 Co.,Ltd. EC2 EC2 ... ... ex.広告配信サーバー ex.集計用サーバー
  5. 5. copyright Fringe81 Co.,Ltd. EC2 EC2Kinesis ... ... 自分のペースで
  6. 6. copyright Fringe81 Co.,Ltd. EC2 EC2 ... ... 自分のペースで 自分のペースで 自分のペースで Kinesis
  7. 7. copyright Fringe81 Co.,Ltd. Akka Streamと違って buffer(=Kinesis)は 数ではなく時間(=24H) EC2 EC2Kinesis ... ...
  8. 8. copyright Fringe81 Co.,Ltd. ● Write: 秒間1000records/shard, 1MB ● Read: 秒間5req/shard, 2MB ● Shard数増減はカジュアルに出来る ● 24Hデータ保持 ● アプリ側で読み込み済み箇所を記録 ● 類似サービスにKafkaがある Kinesis
  9. 9. copyright Fringe81 Co.,Ltd. EC2 Kinesis ... ... ● fluent-plugin-kinesisを使用した ○ EC2→S3で利用していた ○ 仮にshardの処理量を超えて書き込むとエラー となるがリトライしてくれる EC2
  10. 10. copyright Fringe81 Co.,Ltd. EC2 Kinesis ... ... ● KCL(Kinesis Client Library)を使用した ○ 以下実装済みでAppコードに集中できる ○ 読み込み箇所の記録(Dynamo) ○ Shard増減対応 ○ CloudWatchメトリクス記録 EC2Kinesis
  11. 11. copyright Fringe81 Co.,Ltd. EC2 Kinesis ... ... override def processRecords(pri: ProcessRecordsInput) = { val records: List[Record] = pri.getRecords().asScala.toList Source(records) .map{ record => new String(record.getData().array(), CHARSET) } …. EC2Kinesis using Akka Stream
  12. 12. copyright Fringe81 Co.,Ltd. 余談:Spark StreamingでもKCLが
  13. 13. copyright Fringe81 Co.,Ltd. Spark1.6でKCLを使ったCheckpoint関連のbugが 取り除かれ、晴れて(?)コード上のコメントから制約 を伝える部分が消える https://github.com/apache/spark/pull/9421
  14. 14. copyright Fringe81 Co.,Ltd. おわり

×