2010-02-03 4 views
12

Поздравления! Я написал очень масштабируемый сервер HTTP-событий (длинный опрос) в C/C++ с использованием libevent. Тем не менее, он грязный, вряд ли переносимый, и позволяет решать его: это С. Не говоря уже о том, что у меня были некоторые серьезные проблемы с соединителем mysqlcpp (который является полным мусором) и некоторыми незначительными проблемами с libevent (это может быть потому, что я используя 2,0.1-альфа). Событие-сервер - это C/C++, а фактический бэкэнд - PHP-fpm, который я нажимаю, если мне нужно (т. Е. Если есть новое событие). Вся прокси/cgi-маршрутизация выполняется через nginx.Насколько масштабируемым является Jetty?

Я обсуждаю, просто переписывая все это (сервер событий и бэкэнд) в Java - мне нравится использовать PHP для front-end. Я слышал много хороших вещей о Jetty, но мне интересно, есть ли у кого-нибудь опыт развертывания реальных высококонкурентных приложений реального времени, работающих на блендере Jetty. Если да, то как он складывается по сравнению с имплантацией HTTP libevent или эквивалентными библиотеками серверов Erlang и Python?

Меня не интересуют тесты apachebench, поэтому, пожалуйста, не связывайте их. Меня интересует concurrency и масштабируемость.

Благодарим вас за понимание.

ответ

12

Долгое время мы использовали длинный опрос Jetty и были очень довольны этим. Мы никогда не были близки к 10K+ concurrent users, как это было продемонстрировано разработчиками Jetty. Однако добавленные накладные расходы на 300-400 одновременных соединений Cometd были едва заметны на наших младших серверах. В другой статье объясняется clustering of Jetty and Cometd using Terracotta (что является еще одним удивительным программным обеспечением).

+0

Именно то, что мне нужно было знать. Спасибо! –