Railgun™ 原始网络优化器

优化的合作伙伴通过 Railgun 可以更快地联系国际客户

Railgun 可确保以最快速度连接源站和 Cloudflare 网络。

Railgun 利用类似于高质量视频压缩的技术,压缩以前无法访问的 Web 对象。 这会带来额外的性能提升。

Railgun 的能力

Railgun 可加速每个 Cloudflare 数据中心与源站之间的连接,以便无法从 Cloudflare 缓存中获得服务的请求仍然可以非常快速地获得服务。

向 Cloudflare 网站发出的请求中,约有 2/3 直接从物理上最接近上网者的数据中心的缓存获得服务。 Cloudflare 在全球拥有多个数据中心,这意味着无论您是在班加罗尔、布里斯班、伯明翰还是波士顿,即使真正的原始网络服务器远在千里之外,也能快速传送网页。

Cloudflare 能够让网站显得似乎托管在靠近上网者的地方,这是加速网页浏览的关键。 网站可能是在美国托管,但主要的浏览者可能在英国。借助 Cloudflare,该网站将从英国数据中心获取内容,消除了光速造成的成本高昂的延迟。

但是,向 Cloudflare 发出的其他 1/3 的请求必须发送到源站进行处理。发生这种情况是因为许多网页不可缓存。这可能是因为配置错误,更常见的原因是网页频繁更改或经过个性化处理。

例如,很难将《纽约时报》主页缓存一段时间,因为新闻不断变动,而保持最新对他们的业务至关重要。对于像 Facebook 这样的个性化网站,每个用户都可以看到不同的页面,即使不同用户的 URL 可能相同。

Railgun 使用一系列技术来加速和缓存这些以前不可缓存的网页,这样即使必须查询源站,也可以快速传送网页。这甚至适用于不断快速变化的网页(如新闻网站)或个性化内容。

Cloudflare 研究表明,尽管许多网站无法缓存,但实际上它们变化非常缓慢。例如,《纽约时报》的主页整天都会随着新闻报导变化,但页面的样板 HTML 基本保持不变,而且许多报导会留在头版一整天。

对于个性化网站,样板 HTML 保持相同,只有少量内容(例如某人的 Twitter 时间轴或 Facebook 新闻源)发生变化。这意味着,如果可以检测到页面的不变部分并且仅传输差异,则压缩网页以进行传输的机会很大。

工作方式

当向 Cloudflare 服务器请求不在缓存中的网页时,Cloudflare 会与源站建立 HTTP 连接以请求该页面。 Railgun 加速和保护的就是此 HTTP 连接。

不使用 Railgun

使用 Railgun

Railgun 包含两个软件组件:Listener 和 Sender。 Railgun Listener 安装在源站的网站主机上。它是一款小型软件,在标准服务器上运行,使用加密的二进制 Railgun 协议为来自 Cloudflare 的请求提供服务。

Railgun Sender 安装在全世界所有 Cloudflare 数据中心,并与 Railgun Listener 保持连接。

当传入必须由源站处理的 HTTP 请求时,Cloudflare 将确定它是否发往启用 Railgun 的网站。如果不是,则使用标准 HTTP,但如果是,则将 HTTP 请求路由到 Railgun Sender 进行处理。

Railgun Sender 会将请求转为压缩的二进制数据块,传输给相应的 Railgun Listener。Railgun Listener 会处理该请求并向源站执行 HTTP 请求。从源站的角度来看,此 HTTP 连接好像直接来自 Cloudflare,但由于它来自托管合作伙伴的基础设施内部,该请求不会遭受相关延迟。

Railgun 使用基于比较页面版本的新缓存机制来确定需要通过 Internet 传输给 Railgun Sender 的内容。使用这种机制,Cloudflare 通常能够实现 99.6% 压缩率(例如,100k 网页压缩至 400 字节)和超过 700% 的加速。事实上,压缩数据通常很小,使用二进制 Railgun 协议,即可将整个响应纳入单个 TCP 数据包。

通过 TLS 保护 Railgun 连接,以便无法窃听通过它们发送的请求。此连接通过证书确保安全,因此不可能受到路径攻击。Cloudflare 和源站之间的 TCP 连接保持活动状态,以便可以将其重新用于后续请求,从而消除 TCP 连接启动缓慢的问题。

Railgun 请求被多路复用到同一连接上,并且可以异步处理。这意味着 Railgun 能够在不阻塞的情况下处理多个并发请求,并最大限度地利用 TCP 连接。

Railgun Listener 是一个可执行文件,其唯一依赖项是正在运行的 Memcache 实例。它作为守护程序在 64 位 Linux 系统上运行。

Listener 需要在 Internet 上打开一个用于 Railgun 协议的端口,以便 Cloudflare 数据中心能够与之联系。它需要通过 HTTP 和 HTTPS 访问网站。理想情况下,Listener 将置于能够快速访问 Internet 且低延迟的服务器上。只需通过 RPM 或 .deb文件。有关安装 Railgun 的详细说明,请参阅官方的 Railgun Documentation

拥有 Cloudflare BusinessEnterprise 计划的客户,或使用 Optimized Hosting Partner 托管的客户均可使用 Railgun。

设置 Cloudflare 很容易



在不到 5 分钟内建立域名。保留您的托管服务提供商。 不需要更改代码。


深受数百万互联网资产的信赖

Logo mars trusted by gray
Logo loreal trusted by gray
Logo doordash trusted by gray
Logo garmin trusted by gray
Logo ibm trusted by gray
Logo 23andme trusted by gray
Logo shopify trusted by gray
Logo lending tree trusted by gray
Logo labcorp trusted by gray
Logo ncr trusted by gray
Logo thomson reuters trusted by gray
Logo zendesk trusted by gray