Я пишу/портирую сервер события HTTP C++ в Java. Я задаюсь вопросом, каковы лучшие парадигмы для реализации кометы с Причалом, Tomcat, каким-либо другим сервером, или исходно.
Масштабируемость является насущной необходимостью, поскольку я разрабатываю новый протокол, который использует до 3 параллельных соединений на клиент.
Любая справка ценится.
PS: Если возможно, я хотел бы также видеть некоторый пример кода или учебные руководства..
Мы добились большого успеха с функциями Caucho Resin LongPoll (большая часть данных в наш пользовательский интерфейс поступает через Comet). Каучо также добавил поддержку WebSockets , так что, если у вас есть клиент HTML 5, вы тоже можете получить от него пользу.
В Linux у них есть специальный код JNI, который напрямую взаимодействует с epoll, что позволяет серверу хорошо масштабироваться.
Glassfish имеет встроенную поддержку комет, и я подумал, что была WAR для поддержки комет в tomcat от команды Glassfish. Причал, кажется, тоже ведет толпу. Я неправильно понимаю, но почему вы пытаетесь повторно реализовать комету на сервере приложений Java?
Или вы можете отбросить Comet и перейти на WebSockets: http://www.jWebSocket.org
Я сам изучал Комету последние пару дней. Моя компания использует Tomcat в разработке и WebLogic в производстве. Мы хотели бы включить Comet, не меняя существующее приложение. Я был впечатлен API-интерфейсами Atmosphere. Он ориентирован на серверную часть, обеспечивая переносимость и используя преимущества собственных серверных функций, таких как NIO. Кажется, они выпускают обновления каждый месяц. https://atmosphere.dev.java.net/