Сессия пользователя на социальном сайте - логический вопрос - PullRequest
0 голосов
/ 07 февраля 2011

У меня есть социальный сайт в разработке PHP codeignitor и MySQL. Я храню пользовательские сессии в базе данных для обработки многосерверной среды. В настоящее время существует только 1 база данных.

1) Для обработки нескольких баз данных (+ мультисервер), как и где будет храниться сеанс пользователя? Я предполагаю, что база данных не будет работать в среде с несколькими базами данных.

2) Идентификатор сеанса, предоставляемый пользователю, является ли он автоматическим приращением из базы данных или генерируется из логики приложения? Я полагаю, это должен быть GUID?

3) Наряду с идентификатором сеанса у меня есть таблица user_session, в которую заносятся все детали, относящиеся к сеансу, такие как login_datetime, logout_Datatime, если пользователь был в сети / на мобильном телефоне и т. Д. Таким образом, эта таблица должна быть записана в 2 этапа: когда пользователь входит в систему и снова, когда пользователь выходит из системы. Вопрос в том, когда пользователь выходит из системы, по какой логике система должна следовать, чтобы написать дату? Например, как система узнает, в какую user_session записывать данные, поскольку этот идентификатор PK является значением автоинкремента, управляемого базой данных, и создается после создания основного идентификатора сеанса. Поэтому в конце необходимо запросить таблицу user_session, чтобы найти идентификатор user_Session, а затем написать.

1 Ответ

0 голосов
/ 07 февраля 2011

Ваш комментарий дал мне несколько подсказок о том, как решить эту проблему для вас.

Во-первых, если сайт запускается в ближайшее время, но еще не запущен, лучший способ решить вашу проблему: don 'пока не волнуюсь об этой проблеме.Просто разместите все на одном сервере с одной базой данных в настоящее время.Ваша идея, какой бы блестящей она ни была, должна будет решить множество проблем с ее первыми настоящими пользователями, прежде чем спрос наберет столько, сколько потребуется для оборудования.

Во-вторых, вашим серверам изображений и видео, вероятно, не требуетсяинформация о сеансе пользователя.Если пользователь запрашивает веб-страницу с видео, и у него достаточно доступа для просмотра веб-страницы, то вы, вероятно, можете просто отправить видео без дальнейшей проверки подлинности.Этот выбор также позволит вам использовать сеть доставки контента (лично мне нравится RackSpace Cloudfiles с партнерством с Akamai) для значительно улучшенного взаимодействия с пользователем по сравнению с использованием ваших собственных серверов.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...