php комета с quercus - PullRequest
       12

php комета с quercus

0 голосов
/ 02 февраля 2010

если я напишу кометный пуш с php, но использую этот код на java-сервере через quercus, решит ли это проблему «один процесс на запрос», которая была у apache, и хорошо масштабируется со многими пользователями, использующими мой чат?

Ответы [ 2 ]

2 голосов
/ 02 февраля 2010

Да , Quercus решает одно узкое место Apache для каждого запроса. Однако вы должны понимать возможные узкие места JVM. Однако, на мой взгляд, вы должны написать сервис или приложение на C / C ++, используя что-то вроде libevent, в Erlang, в Google Go или просто в качестве сервлета Java просто ради переносимости.

1 голос
/ 02 февраля 2010

Ну, Quercus работает на (J) VM, поэтому он может работать с другим кодом, который может запускать потоки. Но зачем вам темы для чата? Вы просто устанавливаете тайм-аут в обычном PHP-запросе на 0 (без тайм-аута) и ждете, когда что-то будет отправлено обратно пользователю.

Это что-то еще будет в ответ на чей-то запрос (то есть А говорит "привет", что прерывает ожидание Б, чтобы что-то произошло). Это не требует многопоточности.

Также вы можете продолжать использовать Apache / PHP и выполнять вышеописанное, а вместо этого подключаться к Java (или другому) сервису через что-то вроде XML RPC, которое может ждать вечно. Этот сервер может выполнять несколько потоков или делать все, что ему нужно.

...