⚡ Сервіс Railgun від Cloudflare

Нещодавно ми розібралися, чому Cloudflare краще CDN і які явні переваги. Детальніше про це ви можете почитати тут. Тепер давайте розглянемо одну з пріоритетних функцій Cloudflare — сервіс Railgun*, який стискає контент, що не кешується іншими CDN.

Railgun прискорює з’єднання між дата-центрами Cloudflare і сервером. Якщо будь-які запити не можуть бути оброблені з кешу Cloudflare, вони все одно будуть швидко обслужені.

Близько ⅔ всіх запитів до сайтів в Cloudflare обслуговуються за допомогою кешованих даних з сервера, який розташований найближче до користувача. Завдяки розміщенню дата-центрів Cloudflare по всьому світу, не дивлячись на вашу локацію — Лондон, Мадрид, Київ, Париж або Лос-Анджелес — веб-сторінки будуть доставлені швидко, навіть коли сам сайт розташовується за тисячі кілометрів.

Уміння підлаштовуватися під користувачів і робити сайт максимально доступним — ключова особливість Cloudflare: сайт може розташовуватися в США, але основний трафік користувачів буде з Великобританії. Таким чином Cloudflare усуває проблему відстані розташування сайту і кінцевого користувача.

Решта ⅓ запитів — це сторінки, що не кешуються через вплив різних факторів, включаючи неправильну конфігурацію, особисту персоналізацію або інші варіанти. Наприклад, кешувати сторінки великих порталів з новинами, таких як New York Times або Mirrors, вкрай складно: сторінки оновлюються вкрай часто і в цьому полягає актуальність новинного бізнесу. Або Facebook — кожен користувач потрапить на свою сторінку, за умови авторизації, навіть якщо заходить на стартову сторінку соцмережі.

Railgun використовує набір налаштувань для прискорення і кешування сторінок, які раніше не піддавались кешуванню, так що, навіть при зверненні до вихідного сервера сторінки будуть доставлятися швидко. Це застосовується і для сторінок, які швидко оновлюються, —  порталів з нвоинами, соцмереж і так далі.

Дослідження Cloudflare показали, що, хоч багато сайтів і не можуть бути кешованими, їх фундаментальні зміни відбуваються значно рідше. Для прикладу, домашня сторінка New York Times змінюється протягом дня в міру появи матеріалів, але шаблон HTML в основному незмінний, і багато головних новин залишаються закріпленими на сторінці протягом дня. Це надає можливість стискати сторінки для передачі постійних елементів і передавати тільки появу нових.

Як це працює?

Після надходження запиту на сторінку, яка не перебуває у кеші, Cloudflare встановлює HTTP-з’єднання з вихідним сервером, де розташована дана сторінка — саме це з’єднання прискорює Railgun.

Без Railgun

З Railgun

Railgun включає в себе два програмних компоненти: Listener і Sender. Railgun Listener встановлюється на ваш хостинг або сервер — це невелике ПО, яке обслуговує запити від Cloudflare і використовує зашифрований двійковий протокол Railgun. Railgun Sender встановлений у всіх датацентрах Cloudflare по всьому світу і підтримує зв’язок з Railgun Listener.

Після кожного HTTP-запиту Cloudflare визначає, чи призначений запит для сервера, на якому є Railgun. Якщо ні, тоді буде задіяний стандартний HTTP-запит, але якщо це так, тоді запит буде переданий через Railgun Sender.

Railgun використовує нові механізми кешування, засновані на порівнянні версій сторінок, щоб визначити, які елементи необхідно передати. Завдяки таким алгоритмам, Cloudflare здатний забезпечувати стискання на 99,6% (для прикладу, стиснути сторінку вагою в 100 Кбайт до 400 байт), надавши прискорення в 700%.

Railgun здатний обробляти безліч одночасних запитів, які не блокуючи їх і використовуючи максимальне TCP-з’єднання.

Railgun від Cloudflare — унікальна послуга, яка дає перевагу сайтам, які працюють по всьому світу: якщо ваш не націлений на певний регіон і швидкість завантаження сторінок для вас має ключове значення, тоді Railgun — важлива відмінність, що дає перевагу. Послуга Railgun* доступна тільки в тарифі Business.