PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

За счет чего масштабируется REST?

DOM и браузер

REST масштабируется за счёт statelessness (сервер не хранит состояние клиента), кешируемости и единообразного интерфейса — это позволяет легко добавлять серверы и использовать промежуточные слои.

За счёт чего масштабируется

Stateless (без состояния)

Каждый запрос самодостаточен — сервер не хранит сессию клиента между запросами (состояние передаётся в токене/запросе):

Любой запрос можно направить на любой сервер — они не хранят контекст клиента

Это ключ к горизонтальному масштабированию: добавляешь серверы за балансировщиком, запрос идёт на любой из них.

Кешируемость

GET-ответы кешируются по URL (браузер, CDN, прокси) — часть запросов не доходит до сервера, снижая нагрузку:

Cache-Control: max-age=3600

Единообразный интерфейс

Стандартные методы и URL позволяют вставлять промежуточные слои (кеши, балансировщики, шлюзы) без изменения клиента/сервера.

Слоистость (layered system)

Между клиентом и сервером — прокси, CDN, балансировщики; клиент о них не знает.

Как это даёт масштабирование

  • Горизонтальное — много одинаковых stateless-серверов за балансировщиком.
  • Кеширование — снижение нагрузки на сервер и БД.
  • CDN — раздача близко к пользователю.

Коротко для собеседования

REST масштабируется благодаря statelessness (сервер не хранит сессию — любой запрос на любой сервер, легко добавлять инстансы за балансировщиком), кешируемости (GET кешируется по URL — CDN, прокси снижают нагрузку) и единообразному слоистому интерфейсу (можно вставлять кеши/балансировщики). Основа — stateless + горизонтальное масштабирование.

Другие вопросы раздела