если я пишу комету push с php, но использую этот код на java-сервере через quercus, это решит проблему одного процесса на запрос, который apache имел и хорошо масштабировал с множеством пользователей, использующих мой чат?php комета с quercus
ответ
Ну, Quercus работает на (J) VM, поэтому он может работать с другим кодом, который может запускать потоки. Но зачем вам нужны темы для общения? Вы просто устанавливаете таймаут на ванильном PHP-запросе на 0 (без тайм-аута) и дождитесь, когда там будет что-то, чтобы отправить обратно пользователю.
Что-то еще будет в ответ на чужой запрос (то есть A говорит «привет», что прерывает ожидание B, чтобы что-то произошло). Это не требует многопоточности.
Также вы можете продолжать использовать Apache/PHP и выполнять вышеуказанное и вместо этого подключаться к службе Java (или другому) с помощью чего-то вроде XML RPC, который может ждать вечно. Этот сервер может выполнять несколько потоков или делать все, что ему нужно.
Я читал об этом, если вы реализуете комету с apache, то если у вас 5000 пользователей, apache создаст 5000 активных процессов, которые потребляют много памяти и процессора. представьте, что произойдет с вашим веб-сервером, если вы одновременно получите 100 000 пользователей. а затем кто-то сказал, что с java (языком и сервером), даже если у вас запущено 100 000 пользователей, процессы для пользователей, которые ничего не отправляют, будут «в состоянии сна», а только активные процессы потребляют CPU и ram. исправьте меня, если я ошибаюсь, и было бы полезно, если бы вы могли разработать эту концепцию для меня. – ajsie
, так что мне интересно, если я использую свой код кометы php на java-сервере с quercus (который я успешно выполнил) будет ли это решить эту проблему с процессом Apache и поставить неактивные процессы во сне? – ajsie
@noname: процессы кометы - это открытые соединения и выполнение кода, независимо от языка. Теперь вы можете утверждать, что накладные расходы ниже в байт-коде Java. Я не могу сказать, если это так или нет, или в какой степени. Но эти открытые соединения будут потреблять ресурсы, и принципиально нет никакой разницы в спящих процессах. PHP может выполнять операцию блокировки и спать так же, как Java. Кроме того, у вас действительно будет 100 000 пользователей? Почему бы не построить проблемы, которые у вас есть, а не те, которые вы хотели бы иметь? – cletus
Да, Quercus решает один процесс за запрос узкого места Apache. Однако вам необходимо понять возможные узкие места JVM. На мой взгляд, вы должны написать сервис или приложение на C/C++, используя что-то вроде libevent, в Erlang, в Google Go или просто как сервлет Java просто для мобильности.
, пожалуйста, прочитайте мой комментарий на вопрос cletus. я действительно должен знать, будет ли это работать, и что сервер не будет зависать с большим количеством пользователей в чате. – ajsie
Отвечено на вопрос cletus '! –
- 1. комета с сервером php socket?
- 2. Как работает комета с php?
- 3. Quercus: PHP на GlassFish сервере
- 4. Quercus: Java и PHP интеграция
- 5. комета, комета, скрученная и websync
- 6. Комета с ASP.NET AsyncHttpHandlers
- 7. качество перевода quercus?
- 8. PSpell в Quercus?
- 9. реализация quercus и PHP hmac 256
- 10. Tomcat Quercus Php не работает должным образом
- 11. PHP комета улаживает блокировку apache mpm?
- 12. Как написать в logfile с quercus
- 13. Настройка Quercus для обсуждения с JavaDB
- 14. Сохранение большой строки в php с использованием quercus
- 15. PHP, позволяющий использовать стеклянную рыбку с зависимостью Quercus-maven?
- 16. Переписать URL-адрес на Glassfish с PHP Quercus
- 17. Highchart и DWR Комета
- 18. установить quercus в стеклянную рыбу?
- 19. комета vs pubsub ..?
- 20. Комета без AJAX
- 21. Конфигурация электронной почты Quercus + WordPress
- 22. AJAX Progress Bar - опрос, комета?
- 23. Ошибка Google App Engine Quercus
- 24. Комета и одновременный запрос Ajax
- 25. Quercus на Google App Engine
- 26. Установите quercus на ubuntu с помощью tomcat
- 27. StackOverflowError с помощью Wordpress 4.0 на Quercus
- 28. Wordpress Permalinks на Quercus + Tomcat
- 29. Как работает комета с клиентской стороной
- 30. Комета, длинный опрос с учебником jquery
Из любопытства вы изучили идею использования libpurple и решения XMPP? Я не уверен, что он устраняет узкое место в Apache, но я рассматривал такое решение для своей собственной ситуации и хотел бы знать, что вы изучили, чтобы иметь что-то почти живое. – Anthony
Я немного читал о libpurple. кажется, что пользователь должен будет использовать свою учетную запись hotmail или gmail в чате. я просто хочу, чтобы чат в моем форуме с их идентификатором форума, поэтому я не думаю, что это подходит для меня. и вы должны использовать c/C++ для его реализации? – ajsie