Какое решение я должен использовать для этого веб-приложения с веб-сокетами. ActiveMQ? - PullRequest
2 голосов
/ 17 февраля 2011

В настоящее время я нахожусь в процессе разработки веб-приложения, которому требуется подключение к веб-сокету для получения уведомлений о событиях с сервера.

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

Я подумал, что ActiveMQ, вероятно, может поддерживать эту модель, используя разные очереди для каждой группы клиентов.Также было бы относительно легко отправить события в ActiveMQ с помощью stomp, а затем использовать stomp-over-websockets для клиентов.

Проблема, которую я вижу, состоит в том, что сообщения не должны использоваться только одним клиентом, а распространяютсявсем клиентам, подключенным к очереди.

Кроме того, очередь не должна храниться.Если клиент не подключен, когда генерируется событие, он никогда не получит его.

Я не очень хорошо знаю ActiveMQ, поэтому я не уверен, возможно ли это или есть другое простоерешение, которое можно использовать вместо написания моего собственного сервера сообщений.

Спасибо

Ответы [ 2 ]

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

ActiveMQ 5.4.1 изначально поддерживает WebSockets (как Stomp, JMS и т. Д.). Существует понятие очередей (вы упомянули их), но также и тем.

В очереди одно сообщение получит ровно один потребитель в теме это идет всем подписчикам. Смотри: http://activemq.apache.org/how-does-a-queue-compare-to-a-topic.html

Существует несколько библиотек Stomp-WebSocket JS. Kaazing имеет пакет, который включает ActiveMQ и поддерживает протокол JMS API / Stomp через WebSockets с поддержкой старых браузеров, различных клиентских технологий и межсайтовой безопасности.

2 голосов
/ 14 марта 2011

Посмотрите на Pusher , иначе вам понадобится что-то, поддерживающее тематический паб / саб. Вы можете посмотреть на Redis или RabbitMQ

...