Tomcat / веб-сервер против Java NIO / Networking Framework - PullRequest
1 голос
/ 01 апреля 2011

В настоящее время для класса я реализую сервер, который получает два типа соединений, используя TCP, и пользовательский протокол прикладного уровня. Хотя для класса это именно то, как проект должен быть выполнен, мне было интересно узнать о преимуществах / недостатках использования чего-то вроде Tomcat или аналогичного веб-сервера для получения всех входящих сообщений, по сравнению с использованием Java NIO или сетевой инфраструктуры, такой как Mina. (который я использую) или Netty (с которым я хочу поэкспериментировать в какой-то момент).

Хотя я спрашиваю о Java (потому что это то, с чем мне больше всего удобно), вы можете расширить это на любые другие языки.

Мне нужны комментарии о производительности, простоте использования, масштабируемости (как в том, насколько хорошо она масштабируется при разработке, так и в использовании), безопасности и любой другой базе, на которую, как вы думаете, вы можете поместить информацию.

В любом случае, любой вклад будет принят с благодарностью.

С уважением, Омар Феррер

Ответы [ 4 ]

3 голосов
/ 02 апреля 2011

Tomcat сам может использовать NIO с момента выпуска версии 6 с разъемом NIO.Итак, NIO Боже, и Tomcat был избит повсюду солидарности. Я знаю, какой из них я выбираю. ;)

1 голос
/ 02 апреля 2011

Tomcat традиционно используется с сервлетами Java и HTTP.Если вы создаете веб-приложение с использованием Java, то Tomcat - это то, что вам нужно.Если вы просто хотите соединиться, используя TCP / IP между двумя программами, вероятно, будет проще использовать сетевую среду.

1 голос
/ 02 апреля 2011

Я думаю, что история проливает некоторый свет на ответ.

Tomcat предшествует Java NIO на многие годы.В то время считалось, что очередь для входящих запросов и пул потоков, по одному потоку на запрос, была лучшей.

Данные говорят о том, что Java NIO лучше масштабируется, JBOSS поддерживает и использует его сейчас.

Я не удивлюсь, узнав, что Tomcat подвергается рефакторингу для использования Netty.

1 голос
/ 01 апреля 2011

ИМХО, преимущество Tomcat существует, когда вы имеете дело с HTTP. Для HTTP я бы использовал Tomcat, поскольку он многое упрощает, но для чистого TCP я не вижу преимуществ, поэтому я бы рекомендовал использовать более простые методы.

...