2010-02-03 3 views
12

인사말! libevent를 사용하여 C/C++에서 확장 성이 뛰어난 HTTP 이벤트 (long-polling) 서버를 작성했습니다. 그러나 그것은 지저분하고, 이식성이 거의 없어서, C 언어입니다. mysqlcpp 커넥터 (전체 휴지통)와 libevent의 사소한 문제 (몇 가지 주요 문제점이 있습니다. 2.0.1-alpha 사용). 이벤트 서버는 C/C++이며 실제 백엔드는 필 요할 경우 (즉, 새 이벤트가있는 경우) PHP-fpm입니다. 모든 프록시/CGI 라우팅은 nginx를 통해 이루어집니다.부두는 얼마나 확장 가능합니까?

자바로 이벤트 서버와 백엔드를 다시 작성하는 것에 대해 토론하고 있습니다. 프론트 엔드에 PHP를 사용하는 것을 좋아합니다. Jetty에 대한 여러 가지 좋은 점을 들었지만 실제로는 Jetty 백엔드에서 작동하는 매우 동시적인 응용 프로그램을 배포 한 경험이 있는지 궁금합니다. 그렇다면 HTTP libevent implentation 또는 동등한 Erlang 및 Python 서버 라이브러리와 비교할 때 어떻게 스택 업합니까?

나는 apachebench 벤치 마크에 관심이 없으므로 링크하지 마십시오.동시성확장 성에 관심이 있습니다.

통찰력을 가져 주셔서 감사합니다.

답변

12

우리는 잠시 동안 부두의 긴 폴링을 사용했고 그걸 꽤 좋아했습니다. Jetty 개발자가 보여준 것처럼 우리는 10K+ concurrent users에 가깝지 않았습니다. 그러나 300-400 개의 동시 Cometd 연결의 추가 오버 헤드는 로우 엔드 서버에서 거의 눈에 띄지 않았습니다. 또 다른 기사는 clustering of Jetty and Cometd using Terracotta (소프트웨어의 또 다른 멋진 부분)입니다.

+0

정확하게 알 필요가있는 것. 고맙습니다! –