Я живу в Австралии, почему Stack Exchange работает так быстро без использования CDN?

Я взглянул на серверы обмена стеком:

https://meta.stackexchange.com/questions/10369/which-tools-and-technologies-are-used-to-build-the-stack -exchange-network

Кажется, у них всего два центра обработки данных с 11 серверами. Здесь нет упоминания о CDN, что, как я полагаю, невозможно, поскольку они используют рендеринг html на стороне сервера (ASP.Net).

Тем не менее, мне кажется, что они так же быстры, как Google (у которого есть миллиард серверов). Как это возможно?

-2
задан 26 March 2021 в 11:06
3 ответа

Они действительно используют CDN. Сейчас это Fastly: https://www.fastly.com/network-map .

1
ответ дан 24 April 2021 в 03:09

Прочтите серию блогов Ника Переполнение стека: техническая деконструкция . Stack Exchange - это традиционная архитектура из нескольких стоек локальных серверов за CDN . Как неоднократно говорилось в этой серии статей, «производительность - это особенность», фанатичная ориентация операций на скорость. Большинство запросов попадает в глобальный CDN. Запросы веб-серверов, вероятно, кешируются в памяти - кеширование динамического содержимого абсолютно возможно. Фактические обращения к базе данных оптимизированы до момента написания специального программного обеспечения ORM. Даже медленный путь из другого конца света может показаться приятно быстрым, когда производительность - это особенность.

Хотя в обеих компаниях работают люди, ориентированные на скорость, масштабы Google и Stack Exchange сильно различаются. Google пытается проиндексировать всю информацию и сдает в аренду достаточно вычислительных ресурсов, чтобы стать одним из крупнейших облаков. Stack Exchange - это несколько ТБ популярных вопросов и ответов. SE определенно превосходит свой вес с точки зрения влияния поисковых систем и моих личных предпочтений. Отчасти из-за скорости, отчасти из-за растущих сообществ, которые действительно отвечают на вопросы.

1
ответ дан 24 April 2021 в 03:09

Вы можете быстро увидеть их заголовки кэша лака с помощью:

$ curl -sSIL stackoverflow.com
HTTP/1.1 301 Moved Permanently
cache-control: no-cache, no-store, must-revalidate
location: https://stackoverflow.com/
server: Microsoft-IIS/10.0
x-flags: AA
x-aspnet-duration-ms: 0
x-request-guid: 6fa7e0c9-dfcb-4bf7-95fc-a7d6b6a0b29b
x-is-crawler: 1
x-providence-cookie: 942d24a0-db65-949e-1ef6-25b4bd2e0927
feature-policy: microphone 'none'; speaker 'none'
content-security-policy: upgrade-insecure-requests; frame-ancestors 'self' https://stackexchange.com
Accept-Ranges: bytes
Date: Fri, 26 Mar 2021 15:39:52 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-ams21076-AMS
X-Cache: MISS
X-Cache-Hits: 0
X-Timer: S1616773192.208295,VS0,VE76
Vary: Fastly-SSL
X-DNS-Prefetch-Control: off
Set-Cookie: prov=942d24a0-db65-949e-1ef6-25b4bd2e0927; domain=.stackoverflow.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly

HTTP/2 200
cache-control: private
content-type: text/html; charset=utf-8
server: Microsoft-IIS/10.0
strict-transport-security: max-age=15552000
x-route-name: Home/Index
x-frame-options: SAMEORIGIN
x-flags: AA
x-aspnet-duration-ms: 3
x-request-guid: 6dea1d9b-ee1c-46f0-9d8b-042cf588aa45
x-is-crawler: 1
x-providence-cookie: ce7f511e-4a12-023f-eef8-28f1d2742f65
feature-policy: microphone 'none'; speaker 'none'
content-security-policy: upgrade-insecure-requests; frame-ancestors 'self' https://stackexchange.com
x-page-view: 1
accept-ranges: bytes
date: Fri, 26 Mar 2021 15:39:52 GMT
via: 1.1 varnish
x-served-by: cache-ams21050-AMS
x-cache: MISS
x-cache-hits: 0
x-timer: S1616773192.383164,VS0,VE79
vary: Fastly-SSL
x-dns-prefetch-control: off
set-cookie: prov=ce7f511e-4a12-023f-eef8-28f1d2742f65; domain=.stackoverflow.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
0
ответ дан 24 April 2021 в 03:09

Теги

Похожие вопросы