BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Cloudflare、HTTPプロキシ開発用RustフレームワークPingoraをオープンソース化

Cloudflare、HTTPプロキシ開発用RustフレームワークPingoraをオープンソース化

原文リンク(2024-03-21)

最近、CloudflareはHTTPプロキシサービスを作成するためのRustベースのフレームワークであるPingoraをオープンソース化した。このフレームワークはApache License version 2.0の下でオープンソース化された。プロキシ・ソリューションとして、HTTP/1、HTTP/2、gRPC、WebSocketのトラフィックをシームレスに処理し、適応可能なロードバランシングとフェイルオーバー・メカニズムを備えている。

Pingoraは、プロキシ、クライアント、サーバーの作成のための基本的なサポートに加えて、HTTP/1、HTTP/2、TLS、あるいはTCP/UDSを利用したサービスの構築を容易にするライブラリとAPIでその機能を拡張している。Pingoraは、Cloudflareの広範なネットワークを通じて、現在までにほぼ4兆件のインターネットリクエストを処理している。

セキュリティと規制遵守のため、Pingoraは広く認知されているOpenSSLとBoringSSLライブラリと統合しており、FIPSコンプライアンスを確保し、 ポスト量子暗号の進歩を取り入れている。現在、PingoraはCloudflareの膨大なトラフィックを管理するサービスの開発において重要な役割を果たしている。

Pingoraは、従来のC/C++サービスと比較して、メモリ管理により安全な代替手段を提示している。Cloudflareは、メモリセーフティエラーが顕著に減少し、バグ修正よりも機能開発に集中できるようになり、生産性が向上した。さらに、パフォーマンス重視のサービスを運用する場合、Pingoraのマルチスレッドアーキテクチャは、高速で効率的なパフォーマンスを保証し、CPUとメモリリソースを大幅に節約する。これは、システムのスピードとコストが重要なタスクに特に有効である。さらに、Pingoraは高度にカスタマイズ可能なAPIを提供しており、高度でパーソナライズされたゲートウェイやロードバランサーを作成したいユーザーにとって理想的な選択肢となる。

平均して、Pingoraはウェブサイトがロードを開始するまでの待ち時間(「Time to First Byte」またはTTFBとして知られている)を5ミリ秒短縮し、ほとんどのユーザーでより長い待ち時間を80ミリ秒短縮する。Pingoraは、異なるタスク間でインターネット接続を共有することで、より効率的にインターネット接続を使用する。これは、新しい接続を頻繁に設定する必要がないことを意味し、通常は接続のセキュリティと信頼性の確認(TCPとTLSハンドシェイク)に費やされる時間を節約する。

ソースはこちら:Cloudflareをインターネットに接続するプロキシ、Pingoraの構築方法

Cloudflareの全顧客を合わせると、Pingoraが必要とする毎秒の新規接続数は、旧システムと比較して3分の1になる。ある大手顧客では、Pingoraを利用することで、Cloudflareは接続の再利用率を87.1%から99.92%に向上させた。その結果、新規接続の必要性は160分の1に減少した。興味のある読者は、簡単なロードバランサーを構築することで、Pingoraのプログラム可能なAPIを探ることができる。

RedditYCombinator技術コミュニティはこの発表に注目した。YCombinatorでの会話の一つは、nginxやcaddyとは異なり、Pingoraはすぐに使えるバイナリではないことを強調した。特定のニーズに合わせてカスタマイズされたリバース・プロキシを構築するために設計されたパッケージのコレクションなのだ。Redditの別のコメントでは、SSLドキュメントへの期待が表明され、新しい証明書のホット・リロードなどの機能を発見することに強い関心が示された。

発表記事では業界全体と米国政府によってメモリ安全性の重要性が認識されつつあることから、このフレームワークの重要性も呼びかけている。この目的を共有するため、CloudflareはInternet Security Research Group(ISRG)のProssimoプロジェクトと提携し、インターネットの主要インフラへのPingoraの統合を促進することを目指している。

作者について

この記事に星をつける

おすすめ度
スタイル

BT