Jul 18, 2011 11:22
Добрый день. Возник вопрос о способе балансировке вот такой системы. База данных пользователей поделена на таблицы по 1000 id пользователей (все сопутствующие таблицы соответственное тоже). На двух серверах условно будет по 1000 таблиц.
1 вариант . Скрипт определяет по диапазону id нужный сервер и обращается к нужной базе. Таким образом поставив некий балансер нагрузки первый запрос допустим идет на сервер 1, а нужные таблицы находятся на 2 сервере - запрос грузит два сервера (!). Вопрос частично решается использованием на разных серверах информации определенного файла - или профили, или сообщения и проч. Или балансер ставить на базу данных?
2 вариант. Клиент обращается основному серверу - тот также по диапазону присылает ответ - адрес сервера, где находятся нужные данные. Клиент обращается к нужному серверу. Такая "автобалансировка" получается.
Объяснил размыто, думаю суть ясна - балансировка при шардинге таблиц. Поделитесь, пожалуйста, своим опытом и дайте совет. Спасибо.