我正在构建像WhatsApp这样的消息传递应用程序.我的目标是通过Rails只暴露REST API,并通过websockets将“推送通知”暴露给连接的客户端.因此,客户端仅使用REST API与服务器通信.只有服务器通过websocket发送数据.客户端只能从中接收数据.
目前我已经构建了一个eventmachine服务器,用于监听websocket连接和Unix域套接字连接.当客户端在REST API上执行请求时,Rails会连接到Unix域套接字,以告知事件处理器需要通过websocket通知哪些连接的客户端.
我关心的是它在生产中的表现(我的服务器运行Apache Passenger).所以我正在寻找一些解决我问题的项目.我看了看Faye,但我无法理解如何强制它从外部进程(在执行请求时可能是rails)向连接的客户端发送通知.有任何想法吗?
解决方法
你有没有看过我正在做类似的同步宝石,这就是我用的东西
https://github.com/chrismccord/sync
他们有一个非常好的集成视频和一个例子https://github.com/chrismccord/sync_example
这完全支持Faye和Pusher.
我使用Faye for dev和Pusher进行制作