Я работаю на сайте, основанном на форуме, сайт также поддерживает обмен сообщениями на месте (то есть, пользователи могут отправлять личные сообщения другим пользователям), что я пытаюсь do уведомляет участника, если у них есть новые сообщения, например, путем отображения выделенной области входящих сообщений, а также количества сообщений, например Входящие (3)Внедрение функции уведомления о новых сообщениях в сценарии фермы серверов
Я немного запутался, как это может быть реализовано на веб-сайт работает на ферме серверов запросов к базе данных с каждым запрос кажется как излишняя для меня, так что это может быть и речь, вероятно, для этого должен использоваться общий кеш, я считаю, что это общая функция для многих сайтов, включая многие из крупных (работает на фермах серверов), интересно, как они это реализуют, любые идеи приветствуются.
Спасибо за ваш ответ, я уже являюсь постоянным посетителем highscalability.com :) .. проблема с внедрением этой функции заключается в том, что если вы решите использовать свою СУБД для этого, тогда вам придется запросить с базой данных почти с каждым запросом, который, по моему мнению, не очень масштабируемым, с другой стороны, эта функция реализована на многих крупных веб-сайтах, поэтому я задал этот вопрос, мне было любопытно узнать, как они его реализуют. Мне кажется, что единственный разумный способ сделать это - использовать общий кэш, и на самом деле это направление, в котором я сейчас веду ... –
Извините, вы никогда не знаете! :) Я бы рекомендовал посмотреть на Redis, но звучит так, как будто вы на окнах. Вам действительно необходим распределенный сервисный уровень, обертывающий кластер кэшей памяти. Учитывая, что ваш бэкэнд будет оставаться РСУБД (?) Независимо, вам также понадобится механизм (лениво) синхронизировать фронт-кеш и хранилище постоянного хранилища. Поместите согласованный хеш на уровне клиента (веб-сервера), чтобы распределить пользовательские ключи через средний уровень mem-кешей. Уровень кэша также должен периодически обновлять бэкэнд. – alphazero