HN 日本語サマリー

← 一覧へ戻る
インフラ・DevOps

Cloudflare Queues を使用したダブルバッファリング

Double Buffering with Cloudflare Queues (bellone.com)

6 pointsby b_llc2 コメント

要約

Cloudflare Workers, Queues, Workflows, R2 を活用し、テレメトリイベントの収集、バッチ処理、保存を行うパイプラインについて解説しています。UTC時間で区切られたバッチ処理のためにダブルバッファリングキューを使用し、Cloudflare の価格メリットを最大化しています。このパターンにより、大量のテレメトリストリームを圧縮された時間ごとのアーカイブに変換し、サーバーレスで低コストなデータレイクを構築できます。

全文翻訳

Cloudflare Queues を使用したダブルバッファリング

私はダブルバッファリングキューを使用して、テレメトリイベントを収集し、UTC時間で区切られたグループにセグメント化しています。私のパイプラインは、Cloudflare Workers, Queues, Workflows, および R2 を活用してテレメトリイベントをキャプチャ、バッチ処理、保存し、Cloudflare の価格メリットを最大化しています。

モジュロ演算を使用して、ペイロードをアクティブなキューにルーティングし、再び非アクティブなキューをドレインします。UTC を使用して、夏時間(DST)の処理を回避します。

プロデューサー

プロデューサーは、ペイロードのタイムスタンプを評価してメッセージをアクティブなキューにルーティングします。

コンシューマー

コンシューマータスクは、毎時30分にトリガーされ、非アクティブなキューをドレインします。

コンシューマータスクは、現在非アクティブで安全に消費できるキューを決定するために、1時間前までを遡って確認します。

最後に、バッチは圧縮され、単純なパーティショニング戦略を使用して R2 に書き込まれます。

このパターンは、カオスなテレメトリストリームを圧縮された時間ごとのアーカイブに変換します。これにより、ダウンストリーム分析に最適化された、パーティション化されたサーバーレスデータレイクが得られ、クラウドストレージの請求額を非常に低く抑えることができます。