PHP Cometa com Quercus
-
24-09-2019 - |
Pergunta
Se eu escrever o cometa, empurre com o PHP, mas use esse código em um servidor Java via Quercus, isso resolverá um processo por solicitação que o Apache teve e escala bem com muitos usuários usando meu bate -papo?
Solução
Bem, o Quercus é executado na (j) VM para que ele possa ser executado com outro código que possa iniciar threads. Mas por que você precisa de tópicos para conversar? Você simplesmente define o tempo limite em uma solicitação de php de baunilha para 0 (sem tempo limite) e espera que haja algo para enviar de volta ao usuário.
Que algo mais será uma resposta ao pedido de outra pessoa (ou seja, diz "Olá", que interrompe a espera de B de que algo aconteça). Isso não requer multithreading.
Além disso, você pode continuar usando o Apache/Php e fazer o acima e, em vez disso, conectar -se a um serviço Java (ou outro) por meio de algo como XML RPC, que poderia esperar para sempre. Esse servidor pode executar vários threads ou fazer o que precisar.
Outras dicas
Sim, O Quercus resolve o processo de um processo de um pedido de Apache. No entanto, você precisa entender os possíveis gargalos da JVM. Na minha opinião, porém, você deve escrever o serviço ou aplicativo em C/C ++ usando algo como Libevent, em Erlang, no Google Go, ou simplesmente como um servlet Java simplesmente pelo bem da Portability.