Когда люди говорят о масштабировании веб-сайта с помощью "осколков", что они имеют в виду?

StackOverflow https://stackoverflow.com/questions/91710

  •  01-07-2019
  •  | 
  •  

Вопрос

Я слышал, что техника "осколков" упоминалась несколько раз в связи с решением проблем масштабирования для больших веб-сайтов.Что это за техника "осколков" и почему она так хороша?

Это было полезно?

Решение

У Карла Сегена есть хороший блог пост о шардинге.

Из сообщения:

Сегментация - это разделение ваших данных на нескольких серверах.Как вы разделяете свои данные, зависит от вас, но обычно это делается с помощью некоторого основного идентификатора.

Другие советы

Вкратце, представьте разделение вашего users_tbl на несколько серверов.Итак, пользователи 1-5000 и на сервере 1, пользователи 5000-10000 на сервере 2;и т.д.Если ваша модель данных достаточно абстрактна в коде, это часто не приводит к значительным изменениям в коде.

Конечно, этот подход становится затруднительным, если все ваши запросы похожи на "SELECT COUNT(*) FROM users_tbl GROUP BY UserType", но когда ваш where равен "WHERE userid = 5", тогда это имеет больше смысла.

Поскольку "сегментирование" является частью принципов архитектуры крупных веб-сайтов, возможно, вам будет интересно послушать "Принципы архитектуры eBay с Рэнди Шоупом" здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top