Лучшие Java Framework для веб-серверов Websockets [Закрыто

StackOverflow https://stackoverflow.com/questions/4003102

  •  25-09-2019
  •  | 
  •  

Вопрос

Я хочу создать простой сервер, имеющий низкую нагрузку. Цель состоит в том, чтобы дать несколько клиентов JavaScript доступ к некоторым функциям, реализованным в Java через WebSockets. Я ищу лучшую библиотеку использовать для этого - это должно быть простым, устойчивым и т. Д. Теперь я считаю 3 альтернативы - JWEBSocket - Jetty - Netty Что лучше? Или может быть что-то еще?

заранее спасибо

Это было полезно?

Решение

JWEBSocket теперь включает в себя двигатель Jetty 8.0, включая SSL и включает в себя много приятных к нему. Он обеспечивает кросс-браузер и кроссплатформенную совместимую клиентам еще больше мобильных приложений, например, под Android, Symbian и BlackBerry. Сервер может быть легко расширен с плагином и уже включает в себя множество из них (например, для аутентификации / авторизации, JDBC, SMTP, XMPP / Jabber, RPC, Twitter, Filesharing, Chat и т. Д.). Просто проверьте это ... http://jwebsocket.org.. Отказ С нетерпением ждем ваших отзывов.

С уважением Алекса

Другие советы

Я бы пошел с проверенными сервлещими сервлетами Java: пристань или смолой. Оба были расширены для обработки WebSockets:

Websockets

Смола Websockets.

Мой личный выбор будет мочевым, так как это очень просто использовать, и я использовал его в качестве встроенного сервера в несколько проектов.

Есть также некоторые новые дети на блоке, как Атмосфера а также jwebsocket., но для серверов я предпочитаю идти с проверенным решением. Мола и смола также являются общими серверами сервлета, поэтому вы можете пойти с одним продуктом для всех ваших потребностей в обслуживании.

То PlayFramework! другой очень хороший вариант.

Фюй, атмосфера бежит на вершине смолы, Glassfish и пристани. Атмосфера освобождает вас от застрявшего с одним сервером, предоставляя вам мобильность Websocket среди сервера WebStocket. Он также предлагает клиентскую библиотеку, которая может быть выбрана лучший транспорт на случай, если Websocket не поддерживается браузером. Так что вы не можете сравнить атмосферу с пристанью или RSIN

Взгляни на Атмосфера. Вот статья О Webbocket и Attmosphere.

Пока я ценю реализации JWeBSockets и AutoBahn, я предпочитаю атмосферу.

Наращивать:: Время наращивания низкое. Francois Arcand ставит много усилий в тестирование и примеры, помогая всем домировали быстрые победы. (И я понятия не имею, почему он способен так быстро реагировать на любые архитектурные вопросы, которые я поднимаюсь. Впечатляющий.)

Перспектива обслуживания:: Для меня ремонтопригодность является фундаментальным, если программное обеспечение выходит за рамки основной версии 1.0.0. Проект поддерживается на верхнем уровне Maven-Pom с правильно построенной иерархией. Это предотвращает несовместимость библиотеки. Библиотеки относятся к правильному уровню. Это хорошо сделано.

Техническая / функциональная перспектива:: К услугам гостей клиентская библиотека Java SE (Wasync), которая может либо выполнять собственную связь Websocket (OnMessage), либо построить аннотации отдыха Джерси (@@path). Впоследствии это делает его так же просто, как оно получается с преимуществом поддержания открытого соединения для подписок и популярных вызовов удаленной процедуры (RPC) Paradigm. Это обычная попытка объединить эти два парадигмаса. Смотрите также http://wamp.ws/, какие головы для того же подхода. Кроме того, библиотека предлагает создать свойства QoS, как надежность (например, в случае, если клиент отключается) и надежность (кэширование недоставленных сообщений). Это отлично подходит для профессионального программного обеспечения для жгута.

Может быть, вы должны попробовать Сервер щетина? Используя щетка, вы можете выбрать из нескольких WebSockets двигателей, таких как пристани, Netty and Tomcat. Вы можете иметь автономный сервер, а также веб-приложение, которое использует Websockets (Jetty and Tomcat 7). Орисон использует пружинные рамки. Если вы работали с веб-каркандами, такими как стойки, полосы или воспроизведение!, Вам будет очень легко начать. Конечно, Brussketback имеет собственную клиентскую библиотеку JavaScript для еще более легкой разработки.

Полное раскрытие: я один из со-создателей сервера щетины.

Я бы также добавил Vert.x. в список. Он может сервер Websockets и Sockjs (Websocket Emulation, когда браузер не поддерживает их).

Обновлять:
Подчеркивать http://undertow.io. Также поддерживает WebSockets.

Следуй за моим блогем. Я буду готов к выпуску когда-то в не слишком далеко на будущее. Световой вес был подчеркнут через все это - но это также быстро. Я еще не знаю, насколько хорошо он будет увеличиваться до более высоких нагрузок. Но я некоторое время бегал демонстрацию с относительно низкой нагрузкой и то, что у меня было хорошо работать. (Я проверю более тяжелые нагрузки позже и убедитесь, что его можно снизить.)

http://highlevellogic.blogspot.com/2011/09/websocket-server-deMonstration_26.html.

Если вы ищете инфраструктуру вокруг управления сообщениями, пользовательские группировки (номеров ») и синхронизация данных (« Общие переменные »), вы можете рассмотреть союзную платформу:

http://www.unionplatform.com.

Полное раскрытие: я один из со-создателей Союза

Почему бы вам не просто писать ваше приложение на открытый стандарт, такой как JMS, и пусть клиенты сидят на автобусе JMS, как клиенты сообщения? Весь точка WebSockets состоит в том, чтобы принести любой родной протокол TCP непосредственно к клиенту, вместо того, чтобы преобразовать его с вашей задней части до HTTP-запроса / ответа.

Ваши сервисы Back End будут говорить с брокером JMS, такими как ActiveMQ, и ваши клиенты говорят AMQP в браузере через API JavaScript, который выглядит так же, как API JMS в Java. Все, что вам нужно для этого, это вообща Websocket, например, Kaazing имеет такой шлюз, все это делает, это маршрут трафик JMS TCP на веб-клиентах через WebSockets. Они также предоставляют вентиляцию, чтобы вы не перегружаете свой автобус JMS, то есть вы просто используете горстку соединений с брокером для разгрузки миллиона подключений клиента браузера.

Суть в том, что вам не нужно связать себя на любую конкретную платформу. Придерживайтесь стандартов, таким образом у вас есть 100% свобода, чтобы поменять компоненты в качестве изменений вашей среды.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top