我正在构建一个像 WhatsApp 这样的消息传递应用程序。我的目标是通过 Rails 仅公开 REST API,并通过 websockets 向连接的客户端“推送通知”。因此客户端仅使用 REST API 与服务器通信。只有服务器通过 websocket 发送数据。客户端只能从中接收数据。
目前,我已经构建了一个 eventmachine 服务器,用于监听 websocket 连接和 Unix 域套接字连接。当客户端在 REST API 上执行请求时,Rails 连接到 Unix 域套接字,以告诉事件机器需要通过 websocket 通知哪些连接的客户端。
我关心的是它在生产中的表现(我的服务器运行 Apache Passenger)。所以我正在寻找一些项目来解决我的问题。我看了一下 Faye,但我不明白如何强制它从外部进程(在执行请求时可能是 rails)向连接的客户端发送通知。有任何想法吗?