Skip to content

Instantly share code, notes, and snippets.

@myouju
Last active October 26, 2016 02:40
Show Gist options
  • Save myouju/13e91299376e21f69c425a1866cb1200 to your computer and use it in GitHub Desktop.
Save myouju/13e91299376e21f69c425a1866cb1200 to your computer and use it in GitHub Desktop.

ビッグデータのリアルタイム処理技術勉強会

ストリーム処理を支えるキューイングシステムの選び方

  • Kafka、Redis、Nats、ZeroMQ、RabbitMQとかのキューイングシステムの紹介
  • ブローカーの有無
  • メッセージのシャーディングとか

周辺クライアント

  • 標準プロトコルお実装あactiveMQとRabbitMQだけ
  • 独自相成りベース Kafka
  • gcpのpub/subはkafkaと同じ(相互接続できる)
  • bigqueryもkafkaに対応した

コンシューマからみて任意メッセージの再取得可能

  • kafka, activemq
  • メッセージ欠損を防げる

複数コンシューマいよる分散取得

  • kafka,actiemq,rabbitmq
  • scale outの性能向上

kafka一強

性能比較

まとめ

  • ストリーム処理ならkafka
  • 多様なプロトコルあらactivemq
  • activemqより低レイテンシならrabbitmq, erlangだから中が読みづらい
  • nats kafkaより構成がシンプル&低レイテンシ
  • nanomqは安全に構築できるだけどzeromqの方がまだ枯れている

IoT時代におけるストリームデータ処理と、急成長のApache Flink

ビッグデータ処理のタイプ

  • batch
  • interactive query
  • stream

ストリーム処理に求められる要素

  • low latency & high throughput
  • scalable
  • fault tolerant
  • message guarantees
  • flow control
  • windowing

処理モデル

  • イベントごとに毎度処理
  • micro batch
  • time base
  • count base

backpressure

  • 受信側が送信側にキャパを伝えて制御する

window process

最近のトレンド

  • storm
  • spark stream
  • flink

検討ポイント

  • pull or push
  • protocol
  • data format
  • 増減するストリームデータ絵の対応
  • 分散処理および分散の単位
  • 中間データ
  • 運用

運用

  • 管理コンソール
  • ambari便利

NiFi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment