リアルタイム分析のためのオブザーバビリティ駆動型データパイプラインの設計
リアルタイム分析を提供するデータパイプラインを構築したいと考えているでしょう。そのためには、高速なイベントを処理し、低レイテンシで処理を行い、運用者に実行可能なインサイトを提供できるシステムを設計する必要があります。
主要なコンポーネントは以下の通りです:
- インジェスト層:KafkaやKinesisなどのストリーミングソースアダプター
- プロセッシング層:集計およびエンリッチメントのためのストリーム処理
- ストレージ層:リプレイ可能性のための不変(immutable)なイベントストア、および分析用の読み取り最適化されたストア
- サービング/クエリ層:マテリアライズドビューおよび事前集計テーブル
- オブザーバビリティ層:トレーシング、メトリクス、ログ、ダッシュボード、およびアラート
まず、要件を定義しましょう:
- インジェストレート:毎秒10万イベント
- エンドツーエンドのレイテンシ:≤ 300 ms
- クエリパターン:時間制限付きの集計、およびテールレイテンシに対するSLO
オブザーバビリティによって得たい成果を選択します:
- レイテンシやデータスキューを診断するための十分なテレメトリ
- 障害発生時の迅速な根本原因分析