我正在使用 Mongodb 开发 Ruby on Rails 应用程序。我的应用程序部署在 heroku 上,对于延迟的工作,我使用的是 amazon ec2。我有疑问的事情
1)如何连接到亚马逊ec2中的mongo数据库,它基本上在heroku?
2)当我运行延迟作业时,它将如何进入亚马逊服务器,我必须对应用程序进行哪些更改?如果有人可以指出我的教程。
我正在使用 Mongodb 开发 Ruby on Rails 应用程序。我的应用程序部署在 heroku 上,对于延迟的工作,我使用的是 amazon ec2。我有疑问的事情
1)如何连接到亚马逊ec2中的mongo数据库,它基本上在heroku?
2)当我运行延迟作业时,它将如何进入亚马逊服务器,我必须对应用程序进行哪些更改?如果有人可以指出我的教程。
如果您想让您的 EC2 实例对 Heroku 上的应用程序可见,您需要将您的实例从 Amazon 添加到 Heroku 的安全组。Heroku 的文档中有一些说明解释了如何像这样连接到外部服务。
https://devcenter.heroku.com/articles/dynos#connecting-to-external-services
如果 MongoDB 在其默认端口上运行,您需要执行以下操作:
$ ec2-authorize YOURGROUP -P tcp -p 27017 -u 098166147350 -o default
至于如何处理在 EC2 实例上远程运行的延迟作业,您可能会发现 Artsy 工程团队的这篇文章很有帮助。听起来他们开发了一个非常相似的设置。
http://artsy.github.io/blog/2012/01/31/beyond-heroku-satellite-delayed-job-workers-on-ec2/