我正在开发一种工具,涉及客户/用户在其应用程序Web服务器堆栈中安装中间件层。这个中间件(想想Rack for Ruby,或Express for Node)需要与我的中央服务器进行通信以进行状态更新。
现在,我可以让它只是偶尔进行GET以获得最新状态,但我发现使用websocket来打开持久连接可能会很酷。这样,它不必进行任何定期轮询,而只是保持websocket活着。当状态发生变化时,我会向websocket发送更新,客户端会立即收到更新。
假设我有一个可以处理大量空闲websocket连接的堆栈,这是一个使用websockets的可怕方法吗?我知道它传统上用于服务器 - 浏览器通信,但它似乎也可用于幕后服务器 - 服务器调用。
这会更好地实现为更通用的TCP套接字通信而不是websocket,比如ZeroMQ吗?我想我在套接字层没有太多经验,而REST / websockets对我来说更为熟悉。