O Railgun garante que a conexão entre o servidor de origem e a rede da Cloudflare seja tão rápida quanto possível.
O Railgun compacta objetos da Web anteriormente não armazenáveis em cache em até 99,6%, empregando técnicas semelhantes às usadas na compactação de vídeo de alta qualidade. Isso resulta em um aumento médio de 200% no desempenho.
Parceiros otimizados alcançam clientes internacionais mais rapidamente com o Railgun
O Railgun acelera a conexão entre cada data center da Cloudflare e um servidor de origem para que as solicitações que não puderem ser atendidas do cache da Cloudflare sejam, no entanto, oferecidas muito rapidamente.
Cerca de 2/3 das solicitações de sites na Cloudflare são oferecidas diretamente do cache do data center que estiver fisicamente mais próximo do usuário da Web. Como a Cloudflare tem data centers em todo o mundo, isso significa que, se você estiver em Bangalore, Brisbane, Birmingham ou Boston, as páginas da Web serão entregues rapidamente, mesmo se o servidor Web real de origem estiver a milhares de quilômetros de distância.
A capacidade da Cloudflare de fazer com que um site pareça estar hospedado perto dos usuários da Web é fundamental para acelerar a navegação na Internet. Um site pode estar hospedado nos EUA, mas ser acessado principalmente por usuários do Reino Unido. Com a Cloudflare, o site será disponibilizado por um data center no Reino Unido eliminando o custoso atraso causado pela velocidade da luz.
Mas o outro terço das solicitações feitas à Cloudflare precisa ser enviado ao servidor de origem para processamento, o que resulta do fato de muitas páginas da Web não serem armazenáveis em cache. Isso pode ser devido a um erro de configuração ou, mais comumente, porque a página da Web se altera com frequência ou é personalizada.
Por exemplo, é difícil armazenar em cache a página inicial do New York Times por qualquer período de tempo, já que as notícias se alteram, e manter-se atualizado é essencial para a empresa. Além disso, no caso de um site personalizado como o Facebook, cada usuário vê uma página diferente, embora a URL seja a mesma para usuários diferentes.
O Railgun usa uma coleção de técnicas para acelerar e armazenar em cache essas páginas anteriormente inacessíveis, para que, mesmo que o servidor de origem tenha que ser consultado, as páginas sejam rapidamente disponibilizadas. E isso funciona até com páginas de alterações rápidas, como sites de notícias ou conteúdo personalizado.
Uma pesquisa da Cloudflare revelou que, embora muitos sites não possam ser armazenados em cache, na verdade eles são alterados muito lentamente. Por exemplo, a home page do New York Times se altera durante o dia conforme as notícias são escritas, mas o HTML básico da página, em grande parte, permanece o mesmo, e muitas matérias se mantêm na primeira página durante todo o dia.
Nos sites personalizados, o HTML básico é o mesmo, com apenas pequenos pedaços de conteúdo (como a timeline do Twitter ou o feed de notícias do Facebook de uma pessoa) se alterando. Isso significa que haverá uma enorme oportunidade para comprimir páginas da Web para transmissão, se as partes estáticas de uma página puderem ser detectadas e somente as partes diferentes forem transmitidas.
Ao ser feita uma solicitação para um servidor da Cloudflare por meio de uma página da Web que não está no cache, a Cloudflare estabelece uma conexão HTTP com o servidor de origem para solicitar a página. É essa conexão HTTP que o Railgun acelera e protege.
O Railgun é formado por dois componentes de software: o Listener e o Sender. O Railgun Listener está instalado em seu host da Web em um servidor de origem. É um pequeno trecho de software que é executado em um servidor padrão e responde às solicitações da Cloudflare usando o protocolo binário criptografado do Railgun.
O Railgun Sender é instalado em todos os data centers da Cloudflare em todo o mundo e mantém conexões com os Railgun Listeners.
Quando uma solicitação HTTP chega e precisa ser tratada por um servidor de origem, a Cloudflare determina se ela foi destinada a um site habilitado com Railgun. Se não for o caso, será usado HTTP padrão, mas se for, a solicitação HTTP será encaminhada para processamento pelo Railgun Sender.
O Railgun Sender transforma a solicitação em um trecho binário compactado, que é transmitido ao Railgun Listener correspondente. O Railgun Listener processa o pedido e executa uma solicitação HTTP ao servidor de origem. Da perspectiva do servidor de origem, é como se a conexão HTTP viesse diretamente da Cloudflare, mas como ela vem de dentro da infraestrutura do parceiro de hospedagem, a solicitação não sofre atrasos relacionados a latência.
O Railgun usa um novo mecanismo de cache, baseado na comparação entre as versões de páginas, para determinar o que precisa ser transmitido pela Internet para o Railgun Sender. Com esse mecanismo, a Cloudflare alcança a compactação típica de 99,6% (reduzindo, por exemplo, uma página da Web de 100k para 400 bytes) e um aumento de velocidade de mais de 700%. Na verdade, muitas vezes os dados compactados são tão pequenos que, usando o protocolo binário do Railgun, toda a resposta cabe no interior de um único pacote TCP.
As conexões do Railgun são protegidas por TLS para impedir a escuta nos pedidos enviados por meio delas. A conexão é protegida por certificados, de modo que um ataque man-in-the-middle não é impensável. A conexão TCP entre a Cloudflare e o servidor de origem é mantida ativa para que possa ser reutilizada nos pedidos subsequentes, eliminando o início lento de uma conexão TCP.
As solicitações do Railgun são multiplexadas na mesma conexão e podem ser tratadas de forma assíncrona. Isso significa que o Railgun é capaz de lidar com muitas solicitações simultâneas sem bloqueio e maximizar o uso da conexão TCP.
O Railgun Listener é um único executável cuja única dependência é uma instância Memcache em execução. Ele é executado em sistemas Linux de 64 bits como um daemon.
O Listener requer uma única porta aberta para a Internet para o protocolo do Railgun para que os data centers da Cloudflare possam entrar em contato com ele e requer o acesso ao site via HTTP e HTTPS. O ideal é que o Listener seja colocado em um servidor com acesso rápido à Internet e baixa latência. A instalação pode ser feita por meio de um arquivo RPM ou .deb. Confira instruções detalhadas sobre a instalação do Railgun na Documentação do Railgun oficial.
O Railgun está disponível para clientes da Cloudflare com um plano Business ou Enterprise ou clientes hospedados com um Parceiro otimizado de hosting.
Configure um domínio em menos de 5 minutos. Mantenha seu provedor de hospedagem. Não é preciso alterações no código.
Os aplicativos de Internet de todos podem ser beneficiados pelo uso do Cloudflare.
Escolha um plano adequado às suas necessidades.
Mais de 13,000,000 aplicativos da Internet e APIs