У меня есть веб-сайт, который реализован в php/mysql и размещен на hostmonster (), хостинг).Как масштабировать приложение чата?
Я планирую включить функцию чата на своем веб-сайте, что позволяет пользователям общаться друг с другом. Есть ок. 1000 пользователей на моем сайте. В настоящее время я реализовал стратегию ajax, которая отправляет запросы на сервер на периодической основе (скажем, каждые 4 секунды), чтобы получить ответ json о онлайн-пользователях и сообщениях.
Это пример кода, который посылает запросы:
var timer, delay = 4000;
timer = setInterval(function(){
$.ajax({
type: 'POST',
url: 'update.php?user_id=2',
success: function(html){
$('.chat_messages').append(html);
}
});
}, delay);
Но, как я вижу, больше количество пользователей, чем больше запросов на каждые 4 секунды, и больше нагрузка на сервер Apache и базы данных для доставки ответ.
Так что я планирую альтернативное решение, которое не имеет накладных расходов на сервере. Я слышал о нескольких серверах, таких как APE, Nginx, Node.js, StreamHub, которые используют технологию COMET/reverse ajax для обслуживания запросов и эффективны для моей цели.
Но проблема в том, что у меня нет разрешения на установку стороннего сервера на моем компьютере-коннекторе hostmonster. Есть ли другой способ, например, веб-сокеты HTML5?
EDIT: Кстати, я также заинтересован в том, чтобы перестроить мое приложение на Java, если есть жизнеспособное решение.
Можете ли вы запустить PHP-демонов на вашем хосте? –
Да, я надеюсь, что PHP-демоны могут быть созданы и запущены на моем хосте. –
Хорошо, в каком направлении? Вы либо можете, либо не можете: причина, о которой я прошу, заключается в том, что это, вероятно, решение, доступное вам (создание сервера websocket PHP) –