2010-02-03 39 views
12

Chúc mừng! Tôi đã viết một sự kiện HTTP có khả năng mở rộng cao (long-polling) trong C/C++ bằng cách sử dụng libevent. Tuy nhiên, nó lộn xộn, hầu như không di động, và cho phép đối mặt với nó: nó C. Hãy để một mình rằng tôi đã có một số vấn đề lớn với các kết nối mysqlcpp (đó là hoàn thành thùng rác), và một số vấn đề nhỏ với libevent (nó có thể là vì tôi đang sử dụng 2.0.1-alpha). Event-server là C/C++ và backend thực tế là PHP-fpm mà tôi nhấn nếu tôi cần (tức là nếu có sự kiện mới). Tất cả các định tuyến proxy/cgi được thực hiện thông qua nginx.Khả năng mở rộng là Cầu cảng?

Tôi đang tranh luận chỉ viết lại toàn bộ điều (máy chủ sự kiện và chương trình phụ trợ) trong Java - Tôi thích sử dụng PHP cho giao diện người dùng. Tôi đã nghe nhiều điều tốt về Jetty, nhưng tôi tự hỏi liệu có ai có kinh nghiệm triển khai các ứng dụng đồng thời cao cấp trong thế giới làm việc trên chương trình phụ trợ của Jetty hay không. Nếu vậy, làm thế nào để nó xếp chồng lên nhau khi so sánh với một lệnh libevent implentation, hoặc các thư viện máy chủ Erlang và Python tương đương?

Tôi không quan tâm đến apachebench điểm chuẩn vì vậy vui lòng không liên kết chúng. Tôi quan tâm đến đồng thờikhả năng mở rộng.

Cảm ơn bạn đã có thông tin chi tiết.

Trả lời

12

Chúng tôi đã sử dụng tính năng bỏ phiếu dài của Jetty trong một thời gian và đã rất hài lòng với nó. Chúng tôi chưa bao giờ được gần 10K+ concurrent users như đã được chứng minh bởi các nhà phát triển Jetty mặc dù. Tuy nhiên, chi phí bổ sung của 300-400 kết nối Cometd đồng thời hầu như không đáng chú ý trên các máy chủ cấp thấp của chúng tôi. Một bài viết khác giải thích clustering of Jetty and Cometd using Terracotta (một phần mềm tuyệt vời khác).

+0

Chính xác những gì tôi cần biết. Cảm ơn bạn! –

Các vấn đề liên quan