我写了一个实时网络应用程序,其中包含以下内容:
因此,在我的rails应用程序提供的特定页面上,JS将使用socket.io建立与我的nodejs实例的连接,以允许实时http推送。
目前,Nodejs只需更新rails数据库即可与Rails通信。 (我知道这是贫民区但它确实有效。)
注意:丑陋可能围绕着:
答案 0 :(得分:1)
我们遇到了这个问题。我们将它们部署为分离Heroku应用程序,但将它们保存在相同的代码库中。 http://techtime.getharvest.com/blog/deploying-multiple-heroku-apps-from-a-single-repo概述了如何做到这一点。
bin / web中的自定义脚本
#!/bin/bash
if [ "$RAILS_DEPLOYMENT" == "true" ]; then
bundle exec rails server -p $PORT
else
node node/index.js
fi
和Procfile:
web: bin/web
答案 1 :(得分:0)
我会考虑将这两个应用程序设置为不同子域上的单独Heroku应用程序,并将它们都放在端口80上。它们之间的通信通过共享数据库进行,因此它们不需要驻留在同一台机器上,甚至不需要数据中心。 Socket.io支持所有浏览器上的跨域请求,因此不会导致任何问题。