1

您好,我们计划将 websocket 服务器实现集成为我们的 RabbitMQ 系统的前端。目前我们正在运行一些使用 RabbitMQ 服务器的基于 Java/Groovy/Grails 的应用程序。

我们想要一个简单的 websocket 服务器实现来处理连接等,并将请求传递给我们的 RabbitMQ 层。

客户端(硬件设备)将连接到处理对 RabbitMQ 的请求的 websocket 层。其他一些进程负责处理请求并在需要时将数据放回队列中,以便 RabbitMQ 能够通过 websocket 将数据传递回客户端。

我有点迷失在 websockets 的土地上,所以我想知道其他人会建议使用什么。

4

2 回答 2

1

您可以将 rabbitmq 本身与 webstomp 插件和 sock.js 一起用于 Web 前端。您可以直接公开它,也可以通过 haproxy 之类的方式公开它。

http://www.rabbitmq.com/blog/2012/05/14/introducing-rabbitmq-web-stomp/

在 3.x 版本中,它现在默认包含在内,只需启用插​​件即可。

于 2013-02-01T08:43:19.710 回答
0

对于 Java,有两种选择:

  • 气氛
  • 顶点x
  • 玩 2.0
  • Netty 直接

给猫剥皮的方法有很多。如果您已经在使用 Grails,Atmosphere 可能会让您更进一步。您将不得不编写一个自定义BroadcasterIIRC,RabbitMQ 没有一个,但您可以复制现有的一个。

此外,对于 RabbitMQ 或任何队列,您必须决定是为每个用户(使用 websocket 的浏览器)创建队列,还是基于一些哈希进行聚合,然后在内部调度(即制作一个巨大的邮箱地图) . Akka 将是映射到邮箱的不错选择。

于 2013-01-31T23:44:31.117 回答