【发布时间】:2017-10-09 13:18:32
【问题描述】:
我想将一个 websocket 连接重定向到另一个 play 实例,但还没有弄清楚如何去做。
基本上我有一个在节点和参与者之间进行负载平衡的 akka 集群(使用 akka 路由器),到目前为止一切都很好,它正在工作。
因此,我需要在一个播放实例中接收 websocket 连接,但我想使用路由器(akka actor)将其转发到另一个播放实例。这很重要,因为这样我就达到了我的负载平衡要求。
接受 websocket 连接的典型路由如下所示:
def socket = WebSocket.accept[JsValue, JsValue] { request =>
ActorFlow.actorRef(out => MyWebSocketActor.props(out))
}
问题是这会立即返回一个流(akka 流)并建立 websocket 连接,我需要转发请求并在另一个 Play 实例中建立连接。此转发必须通过参与者以保持负载平衡。我可以转发消息就好了,但我需要转发初始连接。
感谢您的帮助。
【问题讨论】:
标签: playframework websocket akka