由zeromq触发的nginx背后的Websockets?

我试图devise一个系统,将处理大量的数据,并发送更新到客户端的进展。 我想用nginx(谢天谢地,刚开始支持websockets)和uwsgi作为web服务器,并且用zeromq通过系统传递消息。 理想情况下,解决scheme可以用Python编写,但我也可以打开Nodejs甚至Go解决scheme。

这是我想要达到的stream程:

  1. 客户访问一个网站,并要求处理大量的数据。
  2. 服务器通过zeromq向另一个进程/服务器[工作人员]进行处理,然后回复客户机请求,说明处理已经开始,包括有关如何与服务器build立websocket的信息。
  3. 客户端设置websocket连接并等待更新。
  4. 处理完成后,工作人员发送“处理完成!” 消息通过zeromq传递给websocket进程,websocket进程将消息推送给客户端。

我所描述的可能是什么? 我想我以为我可以在皇帝模式下运行uwsgi,这样它就可以为web服务器处理一个进程(端口),为websocket进程处理另一个进程(端口)。 我只是不确定是否可以find一个方法来接收zeromq消息,并在同一个进程中pipe理websocket连接。 也许我必须从工人那里发起最后的websocket?

任何帮助/正确的方向指向/潜在的解决scheme将不胜感激。 任何样本或带有正确路由的websockets的nginxconfiguration文件的代码片段也将被赞赏。

谢谢!

当然,这应该是可能的。 你可能想看看zerogw 。