哪个websocket服务器实现可以和rabbitmq结合?
Posted
技术标签:
【中文标题】哪个websocket服务器实现可以和rabbitmq结合?【英文标题】:Which websocket server implementation can be combined with rabbitmq? 【发布时间】:2013-01-31 21:43:40 【问题描述】:您好,我们正计划将 websocket 服务器实现集成为我们的 RabbitMQ 系统的前端。目前我们正在运行一些使用 RabbitMQ 服务器的基于 Java/Groovy/Grails 的应用程序。
我们想要一个简单的 websocket 服务器实现来处理连接等,并将请求传递给我们的 RabbitMQ 层。
客户端(硬件设备)将连接到处理对 RabbitMQ 的请求的 websocket 层。其他一些进程负责处理请求并在需要时将数据放回队列中,以便 RabbitMQ 能够通过 websocket 将数据传递回客户端。
我有点迷失在 websockets 的土地上,所以我想知道其他人会建议使用什么。
【问题讨论】:
【参考方案1】:您可以将rabbitmq 本身与webstomp 插件和sock.js 一起用于Web 前端。您可以直接公开它,也可以通过 haproxy 之类的方式公开它。
http://www.rabbitmq.com/blog/2012/05/14/introducing-rabbitmq-web-stomp/
在 3.x 版本中,它现在默认包含在内,只需启用插件即可。
【讨论】:
【参考方案2】:对于 Java,有两种选择:
气氛 Vert.x 播放 2.0 Netty 直接给猫剥皮的方法有很多。如果您已经在使用 Grails,Atmosphere 可能会让您更进一步。您必须编写一个自定义的Broadcaster
IIRC,RabbitMQ 没有一个,但您可以复制现有的一个。
此外,对于 RabbitMQ 或任何队列,您必须决定是为每个用户(使用 websocket 的浏览器)创建队列,还是基于一些哈希进行聚合,然后在内部调度(即制作一张巨大的地图邮箱)。 Akka 将是映射到邮箱的不错选择。
【讨论】:
以上是关于哪个websocket服务器实现可以和rabbitmq结合?的主要内容,如果未能解决你的问题,请参考以下文章