为无状态Web应用程序实现websocket队列

Tho*_*ski 6 java spring stomp websocket

我想听听您的意见,当没有用户会话(无状态,安静的Web应用程序)时,使用Spring和STOMP协议实现websocket队列的最佳选择是什么.

根据这个解释:https://stackoverflow.com/a/31577152/3076403我知道Spring将使用queue我们使用的simpMessagingTemplate.convertAndSendToUser(...)方法并传递与会话ID相关联的用户名.否则它将使用a topic,其中所有订阅的客户端最终将读取从服务器返回的相同消息.

就我而言,我有一个带有Angular UI部分的RESTful应用程序.我想在UI端实现进度条.最初,UI使用先前确定的给定ID将消息发送到服务器,例如:{id: 20}.

然后,UI必须监听返回的模型对特定ID的更改并计算内部处理的进度.消息返回如下所示:{id: 20, timeLeft: 30, totalTime: 60}

因此,对于将订阅服务器上的websocket频道的每个Angular应用程序,它应该给出不同的结果.

由于我在应用程序中没有会话并且必须在服务器上实现websocket队列,您是否知道使用Spring和STOMP协议的其他解决方案与我最近提出的解决方案不同:

弹簧: simpMessagingTemplate.convertAndSend("/ui/progress/"+id, ...)

UI ng-stomp: $stomp.subscribe("/ui/progress/"+id, function(...))

我知道这将是一个"假"主题,而不是排队.任何评论和想法赞赏.