2010-02-03 11 views
12

Saluti! Ho scritto un server HTTP altamente scalabile (long-polling) in C/C++ usando libevent. Tuttavia, è disordinato, difficilmente trasportabile e consente di affrontarlo: è C. Per non parlare del fatto che ho riscontrato alcuni problemi importanti con il connettore mysqlcpp (che è il cestino completo) e alcuni problemi minori con libevent (potrebbe essere perché io sto usando 2.0.1-alpha). L'event-server è C/C++ e il backend effettivo è PHP-fpm che ho colpito se necessario (cioè se c'è un nuovo evento). Tutto il routing proxy/cgi viene eseguito tramite nginx.Quanto è scalabile il Jetty?

Sto discutendo solo di riscrivere l'intera cosa (server degli eventi e backend) in Java - Mi piace usare PHP per il front-end. Ho sentito molte cose positive su Jetty, ma mi chiedo se qualcuno abbia avuto esperienza nell'implementare applicazioni altamente concomitanti nel mondo reale lavorando sul backend del Jetty. In caso affermativo, come si accumula se confrontato con un impianto libevent HTTP o con librerie di server Erlang e Python equivalenti?

Non sono interessato ai benchmark apachebench quindi per favore non collegarli. Sono interessato a simultanea e scalabilità.

Grazie per qualsiasi intuizione.

risposta

12

Abbiamo usato il lungo sondaggio di Jetty per un po 'e ne siamo stati molto contenti. Non siamo mai stati vicini a 10K+ concurrent users come dimostrato dagli sviluppatori di Jetty. Tuttavia, il sovraccarico aggiunto di 300-400 connessioni Cometd concorrenti era difficilmente riscontrabile sui nostri server di fascia bassa. Un altro articolo spiega clustering of Jetty and Cometd using Terracotta (che è un altro fantastico software).

+0

Esattamente quello che dovevo sapere. Grazie! –