/note/tech

CloudflareにおけるKafkaの話 ~ メッセージ1兆件に至るまでに学んだ教訓

  • Cloudflareでは、大量のデータを処理するためにKafkaクラスタを採用しており、チームの分離、効果的なスケール、数兆件のメッセージの処理のために開発された汎用メッセージバスクラスタがある。
  • イベント駆動型システムの非構造化通信の問題に対処するためには、強力なコントラクトを定める必要がある。そのため、CloudflareはクロスプラットフォームのデータフォーマットProtobufを用いている。
  • 開発ツールのメトリクスへの投資は、問題を容易に明らかにするために重要である。CloudflareはSDKをOpenTracingとPrometheusのメトリクスで充実させ、システムの挙動を理解し、特にインシデント時により良い意思決定を行うようにした。
  • SDKの採用や使用に一貫性を持たせ、ベストプラクティスを推進するためには、パターンに関する明確なドキュメントを優先させることが重要である。
  • Cloudflareは、柔軟性とシンプルさのバランスを取ることを目指している。設定範囲の広いセットアップは柔軟性が高い一方で、シンプルなセットアップは異なるパイプライン間での標準化を可能にする。