2010-02-03 21 views
12

¡Saludos! Escribí un servidor de eventos HTTP altamente escalable (Long-Polling) en C/C++ usando libevent. Sin embargo, es complicado, apenas portátil, y admitámoslo: es C. Y mucho menos he estado teniendo algunos problemas importantes con el conector mysqlcpp (que es basura completa), y algunos problemas menores con libevent (podría ser porque yo estoy usando 2.0.1-alpha). El servidor de eventos es C/C++, y el backend real es PHP-fpm que pulso si es necesario (es decir, si hay un evento nuevo). Todo el enrutamiento proxy/cgi se realiza a través de nginx.¿Qué tan escalable es Jetty?

Estoy debatiendo simplemente volver a escribir todo (servidor de eventos y servidor) en Java - Me gusta usar PHP para el front-end. He oído muchas cosas buenas sobre Jetty, pero me pregunto si alguien ha tenido experiencia en la implementación de aplicaciones altamente concurrentes en el mundo real que trabajan en el back-end de Jetty. En caso afirmativo, ¿cómo se acumula cuando se compara con una implementación Libevent HTTP, o bibliotecas equivalentes de servidor Erlang y Python?

No me interesa apachebench puntos de referencia, así que no los vincules. Estoy interesado en concurrencia y escalabilidad.

Gracias por cualquier idea.

Respuesta

12

Hemos utilizado Jetty's long-polling por un tiempo y hemos estado muy contentos con ello. Nunca hemos estado cerca de 10K+ concurrent users como demostraron los desarrolladores de Jetty. Sin embargo, la sobrecarga adicional de 300-400 conexiones Cometd simultáneas apenas se notaba en nuestros servidores de gama baja. Otro artículo explica clustering of Jetty and Cometd using Terracotta (que es otra pieza impresionante de software).

+0

Exactamente lo que necesitaba saber. ¡Gracias! –