Как реализовать авторизацию и регистрацию пользователей(100млн пользователей)?
Есть nginx балансировщик который рандомно проксирует на бекенды
на бекенде php фреймворк(не суть какой) с функциями регистрации и авторизации
Пользователь регистрируется , данные пишутся на mysql сервер #1 (их много должно быть). после регистрации юзер получает в токен и всё здорово. на данном моменте используется nginx-sticky-module
Далее. Когда юзер заходит под другим айпишником и вообще находится в другом месте .. вводит логин и пароль (ngnix выдал ему другой бекенд с другим sql сервером) - в момент авторизации сервер скажет мол такой пары логина и пароля нет..
как на основе логина и пароля определять sql сервер?
какие решения существуеют?
поставить один мощный redis сервер где будет пара: логин -> ip sql сервера ?
как на основе логина и пароля определять sql сервер?
Шардинг.
Например можете определять по первому символу от логина, или лучше делать хеш от логина для более равномерного распределения. (hwnd32) h -> на первый сервер, (oxidmod) o -> на второй и т.д.