Чем веб-ускоритель отличается от простого веб-сервера или CDN?
Я читал статью о конфигурациях веб-приложений и натолкнулся на концепцию веб-ускорителя, но, читая список функций, кажется, он предоставляет довольно много функций, которые я бы попросил в CDN или даже в некоторых конфигурациях веб-сервера.
Веб-ускоритель - это прокси-сервер, который сокращает время доступа к веб-сайту.
Это обеспечивает:
- кэшируйте недавно или часто используемые документы, чтобы они могли быть отправлены клиенту с меньшей задержкой или с более высокой скоростью передачи, чем удаленный сервер.
- Освежить объекты в кэше, гарантируя, что часто доступный контент легко доступен для отображения.
- упреждающее разрешение имен хостов, присутствующих в документе (HTML или JavaScript), для уменьшения задержки. Предварительная загрузка документов, которые, вероятно, будут доступны в ближайшем будущем. сжать документы до меньшего размера, например, уменьшив качество изображений или отправив только то, что изменилось с момента последнего запроса документа.
- оптимизировать код из определенных документов (таких как HTML или JavaScript).
- отфильтровывать рекламу и другие нежелательные объекты, чтобы они вообще не отправлялись клиенту.
- поддерживать постоянные TCP-соединения между клиентом и прокси-сервером.
- повысить производительность за счет ускорений на уровне протокола, таких как ускорение TCP.
Теперь, если вы спросите меня, я смотрю на следующие компоненты, а также даю им вышеуказанные обязанности:
CDN: (1) (2)
Балансировщик нагрузки: (5)(7)
Обратный прокси: (1)(2)(4)(6)(7)
Хотя я мог бы не совсем правильно классифицировать вышеупомянутое распределение ответственности, похоже, что веб-ускорителем может быть CDN, LB или даже обратный прокси.
Может ли кто-нибудь указать мне на уникальность такого компонента и лучшие варианты использования? И как веб-ускоритель подходит для модели с CDN, LB и / или обратным прокси?
2 ответа
Вы правы: веб-ускоритель - это концептуальная технология, которую можно использовать как автономную, как часть коммерческого CDN, как часть собственного CDN, так и даже часть клиентской установки.
Не существует единственной верной реализации веб-ускорителя, это категория технологий. Примерами являются сжатие / распаковка "на лету", HTTP-кэши, которые ближе к пользователю, чем исходный сервер и сокращающие или исключающие время обработки, и некоторые другие.
CDNs будут использовать несколько примеров этих технологий, чтобы объединить то, что они считают правильным видом веб-ускорения, которое они могут продать своим клиентам.
Веб-ускоритель может быть CDN, но очень тривиальным.
Определение CDN в Википедии:
большая распределенная система серверов, развернутая в нескольких центрах обработки данных через Интернет
Хотя веб-ускоритель определяется как:
(один) прокси-сервер, который сокращает время доступа к веб-сайту
CDN - это действительно сеть, основной функцией которой является оптимизация доступа к очень интересному контенту, обычно на службе очень крупных компаний. Это достигается путем:
- Несколько локализованных центров обработки данных по всему миру сокращают время передачи сообщений
- Разделение нагрузки уменьшает заторы
- Для обслуживания веб-сайта, который сталкивается с неожиданным пиком запросов (или атакой отказа в обслуживании), может быть задействовано больше центров обработки данных.
Каждый сервер в CDN фактически является веб-ускорителем, а сеть CDN содержит логику, обеспечивающую актуальность всего контента на всех серверах. CDN можно рассматривать как лес веб-ускорителей.
Одним из самых известных CDN является Akamai, с огромным списком клиентов, в который входят Adobe, Apple, IBM Corp., Microsoft, Yahoo! и больше. Его клиенты всегда сопротивлялись всем попыткам атак типа "отказ в обслуживании" из-за его огромной всемирной сети.