ストリーミングシステムの水平スケーリング

ストリーミングの基礎概念

Mike Metzger

Data Engineer

水平スケーリングの復習

  • 「スケールアップ」ではなく、スケールアウト
  • 高速・高性能化ではなく、台数を増やして処理能力を上げるのが一般的
  • 並列化が容易な場合に最適
    • タスクを簡単に分割できる
    • 例: 互いに依存しない大量の画像処理
ストリーミングの基礎概念

ストリーミングでの水平スケーリング

  • ストリーミング処理は通常、遅延が最小
  • ワーカー間のデータ転送が難しくなることがある
  • 1つのパイプライン内でストリーム全体を処理するのが最適
  • そのパイプラインの複製を作る
ストリーミングの基礎概念

パイプラインの複製

  • 事象が発生すると、最初にパイプラインへ流入
  • 関連タスクは完了までそのパイプライン内で自己完結
  • パイプラインを増やしてスケール
  • パイプライン内での垂直スケールも可能
ストリーミングの基礎概念

追加の考慮事項

  • 他のコンポーネントが必要になる場合あり
  • ロードバランサ/ディレクタ
    • カード配り方式
    • 最も空いているノード
  • いずれボトルネックに到達
    • ディスク書き込み性能
  • ストリーミングパイプラインの短縮を検討
    • データの即時処理の不要化
ストリーミングの基礎概念

演習に進みましょう!

ストリーミングの基礎概念

Preparing Video For Download...