Railgun™配信元ネットワークオプティマイザー

Railgunを使用すると、Optimized partnerは世界中の顧客への配信を高速化できます

Railgunを使用すると、配信元サーバーとCloudflareネットワーク間の接続が最大限に高速化します。

Railgunは高画質映像の圧縮に使用されているのと似た方法を利用して、以前はキャッシュ不可能であったWebオブジェクトを圧縮します。 これによってパフォーマンスがさらに向上します。

Railgunの特徴

Railgunは各Cloudflareデータセンターと配信元サーバー間の接続を高速化します。そのため、Cloudflareのキャッシュでは配信できないリクエストであっても非常に高速で配信されます。

Cloudflareのサイトに送られるリクエストの約2/3は、Web閲覧者との距離が物理的に最も近いデータセンターのキャッシュから直接配信されます。Cloudflareのデータセンターは世界中にあるため、バンガロール、ブリスベン、バーミンガム、ボストンなどから閲覧する場合、実際の配信元Webサーバーが数千マイル離れている場所にあるとしても、Webページはすぐに配信されます。

WebサイトがWeb閲覧者の近くでホストされているように見せる機能は、Web閲覧を高速化させるために欠かせないCloudflareの機能です。米国でホストされているWebサイトであっても、英国からのアクセスが多い場合もあります。Cloudflareを使用すると、サイトは英国のデータセンターから配信され、コスト上昇を招く速度の遅延を避けることができます。

ただし、Cloudflareに対するリクエストの残りの1/3は、処理のために配信元サーバーに送信されてしまいます。この理由には、多くのWebページがキャッシュ不可能であることが挙げられます。その原因の1つには誤設定があり、多くは、Webページが頻繁に変更される場合、または個別に設定されている場合です。

たとえば、ニュースの変更や最新情報を提供することがビジネスに不可欠なNew York Timesのホームページは、短時間のキャッシュも困難です。また、Facebookのように個別に設定されたWebサイトでは、同じURLであっても、各ユーザーにはそれぞれ異なるページが表示されます。

Railgunはこれまでキャッシュ不可能であったWebページを高速化してキャッシュするために、集結した技術を使用しています。そのため、配信元サーバーを参照する必要がある場合でも、Webページは速やかに配信されます。また、ニュースサイトのように急速に変化するページや個別に設定されたコンテンツにも対応しています。

Cloudflareの調査によると、キャッシュ不可能なサイトはたくさんあるものの、実際の変化は非常にゆっくりしたものです。たとえば、New York Timesのホームページは、1日を通してニュース記事が書き込まれるたびに変更されますが、ページの定型部分のHTMLはほぼ同じままであり、多くの記事は1日中フロントページにとどまっています。

個別に設定されたサイトでは、定形部分のHTMLは同じままで、コンテンツの小さな部分(ユーザーのTwitterタイムラインやFacebookニュースフィードなど)だけが変更されます。つまり、ページの不変部分が検出され、差異だけが送信された場合、送信用にWebページを圧縮できる大きな見込みがあります。

仕組み

キャッシュにないWebページがCloudflareサーバーにリクエストされると、CloudflareはHTTP接続で配信元サーバーにページをリクエストします。この場合、Railgunが高速化と安全を確保するのはHTTP接続です。

Railgunなし

Railgun - how it works without

Railgunあり

Railgun - how it works with

RailgunはListenerとSenderという2つのソフトウェアコンポーネントで構成されています。Railgun Listenerは、配信元サーバーのWebホストにインストールされます。これは、暗号化されたバイナリのRailgunプロトコルを使用してCloudflareからの標準的なサーバーとサービスリクエストで動作するソフトウェアの一部分です。

Railgun Senderは世界中のすべてのCloudflareデータセンターにインストールされ、Railgun Listenersとの接続を維持します。

配信元サーバーでの処理が必要なHTTPリクエストが到着した場合、CloudflareはRailgun対応のWebサイトかどうかを判断します。Railgun未対応の場合、標準HTTPが使用されますが、Railgun対応の場合はHTTPリクエストはRailgun Senderにルーティングされて処理されます。

Railgun Senderは、圧縮されたバイナリチャンクにリクエストを変換し、対応するRailgun Listenerに送信します。Railgun Listenerはリクエストを処理し、配信元サーバーへのHTTPリクエストを実行します。配信元サーバーから見るとHTTP接続がCloudflareから直接送信されたかのように見えますが、ホスティングパートナーのインフラストラクチャ内から送信されるため、リクエストに遅延が発生することはありません。

Railgunはページバージョンの比較に基づく新しいキャッシュメカニズムを使用して、インターネット経由でRailgun Senderに送信する必要がある情報を判断します。このメカニズムを使用することで、Cloudflareは通常99.6%の圧縮(例:100,000バイトのWebページを400バイトに圧縮)と700%以上の高速化を実現できます。実際に圧縮されたデータは小さくなることが多いため、バイナリのRailgunプロトコルを使用して、応答全体が1つのTCPパケット内に収まります。

Railgun接続はTLSによって保護されているため、それらを経由して送信されたリクエストは傍受されることはありません。接続は証明書によって保護されているため、中間者攻撃は不可能です。Cloudflareと配信元サーバー間のTCP接続は維持されるため、TCP接続の始動の遅れを発生させずに次のリクエストに再利用できます。

Railgunリクエストは同じ接続に多重化され、非同期で処理できます。これは、RailgunがTCP接続の使用をブロックや最大化することなく、多くの同時リクエストを処理できることを意味します。

Railgun Listenerは、実行中のMemcacheインスタンスのみが依存する単一の実行可能ファイルです。これは64ビットLinuxシステムでデーモンとして動作します。

ListenerからCloudflareデータセンターに接続するには、インターネット上にRailgunプロトコル用ポートが1つ開いている必要があります。また、HTTPとHTTPSを経由してWebサイトにアクセスする必要があります。Listenerは、遅延が短く、インターネットに高速でアクセスできるサーバーに配置されることが理想です。RPMまたは.debファイル経由で簡単にインストールできます。Railgunのインストールの詳細な手順については、公式のRailgunドキュメントをご参照ください。

Railgunは、Cloudflare Business プランまたはEnterprise プランのお客様、最適化ホストパートナーでホストされているお客様にご利用いただけます。

Cloudflareの設定は簡単です



ドメインの設定にかかる時間は5分未満です。ホスティングプロバイダーを引き続きご利用いただけます。コード変更は必要はありません。


何百万ものインターネットプロパティからの信頼

「ロゴMarsが信頼を寄せる」グレー色
「ロゴ Lorealが信頼を寄せる」グレー色
「ロゴ Doordashが信頼を寄せる」グレー色
「ロゴGarminが信頼を寄せる」グレー色
「ロゴ IBMが信頼を寄せる」グレー色
「ロゴ 23andmeが信頼を寄せる」グレー色
「ロゴShopigyが信頼を寄せる」グレー色
「ロゴ LendingTree が信頼を寄せる」グレー色
「ロゴ Labcorpが信頼を寄せる」グレー色
NCR logo
Thomson Reuters logo
「ロゴZendeskが信頼を寄せる」グレー色