Распределенные приложения и пользовательские данные или как происходит горизонтальное масштабирование?
Как соц сети умудряются делать настолько распределенные системы. Я посмотрел видео про социальную сеть одноклассники с хайлоад++. И там было сказано что у них около 11 тысяч серверов, и трафик около 1/tbs.
Вернее вопрос в том какие методы балансировки пользовательских запросов, применяются в настолько громадных системах что бы еще не терялись данные пользователей? С самого я начала я подумал, что все делается через hash ip это было бы удобно и логично, но так как hash жестко привязан к IP(то есть балансирует в зависимости от IP), а моё IP может меняться. В этом нет никакого смысла, так как я могу через VPN из своего города стучаться на другой сервер, и получается если запрос на этом сервере окончится не удачей. То мне придется либо отказать пользователю в авторизации, либо искать данные в сотне других баз данных.
По сути, даже если мы возьмем какую нибудь Casandr`y которая умеет в распеределнность, мы все равно упремся в проблему пользовательской авторизации.
а если еще выхлоп гугла поковырять, то найдете огромное количество разнообразного материала. из которого надо будет отфильтровать необходимое.
первая строчка в поиске belinter.net/story/dva-vystupleniya-ot-komandy-vko...
Вернее вопрос в том какие методы балансировки пользовательских запросов, применяются в настолько громадных системах что бы еще не терялись данные пользователей?
Распределенные приложения и пользовательские данные или как происходит горизонтальное масштабирование?
Короткий ответ - любой сервер имеет доступ к бэкенд базе данных которая содержит все данные. Как обеспечивается синхронизация/репликация базы по всему миру - отдельный интересный вопрос, кстати см. CAP теорему https://en.wikipedia.org/wiki/CAP_theorem.
Вы прочитали то что я написал? Или вы хотите мне сказать что у однокласников на 11 тысяч серверов есть рут база данных, которая 1tbs в секунду выдерживает, еще и реплецирует, и бэкапы с неё снимают.
IDONTSUDO, я прочитал. И понял (возможно неправильно) что вы представляете что есть 100 баз данных, по одной на регион.
Ответ - нет, есть одна распределенная база данных. Одна база со многими инстансами и репликацией данных. То есть нет шардинга по географическим или иным признакам.
Кстати, одноклассники - очень маленький проект по сравнению с фейсбуком :-)