Domanda

se scrivo la spinta cometa con PHP, ma uso questo codice su un server Java tramite Quercus, sarà in grado di risolvere l'unico processo per ogni richiesta problema che apache aveva e scala bene con molti utenti usando la mia chat?

È stato utile?

Soluzione

Bene, corre Quercus sul (J) VM in modo che possa funzionare con altro codice che può iniziare le discussioni. Ma perché avete bisogno di fare discussioni chat? È sufficiente impostare il timeout su una richiesta di vaniglia PHP a 0 (nessun timeout) e attendere lì per essere qualcosa di inviare indietro per l'utente.

che qualcosa sarà in risposta alla richiesta di qualcun altro (cioè A dice "ciao" che interrompe attesa di B che succedesse qualcosa). Che non richiede il multithreading.

Inoltre, si potrebbe continuare a utilizzare Apache / PHP e fare quanto sopra e invece la connessione a un servizio Java (o altro) via qualcosa come XML RPC, che potrebbe aspettare per sempre. Tale server poteva fare eseguire più thread o fare tutto ciò è necessario.

Altri suggerimenti

, Quercus risolve il un processo per ogni richiesta di Apache collo di bottiglia. Tuttavia, è necessario comprendere i possibili colli di bottiglia della JVM. A mio parere, però, si dovrebbe scrivere il servizio o applicazione in C / C ++ usando qualcosa come libevent, in Erlang, in Google Go, o semplicemente come un Java Servlet semplicemente per amor di portabilità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top