Jump to content

Orbx Implements a RailGun .. not what you think


Jay Kae

Recommended Posts

post-6-0-02496900-1375301194_thumb.jpg

 

What Railgun does

Railgun accelerates the connection between each CloudFlare data center and an origin server so that requests that cannot be served from the CloudFlare cache are nevertheless served very fast.

Approximately 2/3 of requests to sites on CloudFlare are served directly from cache from the data center that is physically closest to the person surfing the web. Because CloudFlare has data centers around the world this means that whether you are in Bangalore, Brisbane, Birmingham or Boston web pages are delivered quickly even when the real, origin web server is thousands of miles away.

CloudFlare's ability to make a web site appear to be hosted close to web surfers is key in accelerating web surfing. A web site might be hosted in the US, but accessed mainly by web surfers in the UK. With CloudFlare the site will be served from a UK data center eliminating the costly delay caused by the speed of light.

But the other 1/3 of requests made to CloudFlare have to be sent to the origin server for processing. This happens because many web pages are not cacheable. This can be because of a misconfiguration, or, more commonly, because the web page changes frequently or is personalized.

How it works

Railgun consists of two software components: the Listener and Sender. The Railgun Listener is installed at your web host on an origin server. It's a small piece of software that runs on a standard server and services requests from CloudFlare using the encrypted, binary Railgun protocol.

The Railgun Sender is installed in all CloudFlare data centers around the world and maintains connections with Railgun Listeners.

When an HTTP request comes in that must be handled by an origin server, CloudFlare determines whether it is destined for a Railgun-enabled website. If not, standard HTTP is used, but if so the HTTP request is routed to the Railgun Sender for handling.

The Railgun Sender turns the request into a compressed, binary chunk that's transmitted to the corresponding Railgun Listener. The Railgun Listener handles the request and performs an HTTP request to the origin server. From the origin server's perspective it's as if the HTTP connection came directly from CloudFlare, but because it comes from inside the hosting partner's infrastructure the request suffers no latency related delay.

Railgun uses a new cacheing mechanism based on comparing page versions to determine what needs to be transmitted across the Internet to the Railgun Sender. Using this mechanism CloudFlare is able to achieve typical 99.6% compression (taking, for example, a 100k web page down to 400 bytes) and a speedup of over 700%. In fact, the compressed data is often so small that using the binary Railgun protocol the entire response fits inside a single TCP packet.

Railgun connections are secured by TLS so that requests sent across them cannot be eavesdropped upon. The connection is secured by certificates so that a man-in-the-middle attack is not possible. The TCP connection between CloudFlare and the origin server is kept alive so that it can be reused for subsequent requests eliminating the slow start up of a TCP connection.

Railgun requests are multiplexed onto the same connection and can be handled asynchronously. This means that Railgun is able to handle many, simultaneous requests without blocking and maximizing the use of the TCP connection.


What does this mean ?

In short, we are now caching the uncacheable and loading times for everyone can be up to as much as 200% faster as a result. Smart load helps with this as well of course but you should see an improvement overall.

Yours in housekeeping

 

Link to comment
Share on other sites

Puhh! I don't understand a word of what you wrote, Jay Kae!



Only the last section but that is what it is all about (for us "user").


 


Thanks for your enduring efforts to make it easier, safer and faster!



Link to comment
Share on other sites

What does this mean ?

In short, we are now caching the uncacheable and loading times for everyone can be up to as much as 200% faster as a result.

I guess we now have to work on our reading speeds. ^_^

/ sent from a mobile device tracking my whole life for no reason /

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...