我有一个项目,我正在工作,这将需要大量的计算密集型服务,像爬虫一样,24/7全天候运行,计算build议等。我的计划是有公共网站,用户可以login到亚马逊的托pipe与交互EC2服务,以确保它几乎总是(是的,我知道亚马逊最近有巨大的中断)。 由于在EC2上,您可以根据CPU时间收费,我希望在自己的本地计算机上运行所有计算密集型服务。 然后我将数据库保存在与本地数据库同步的Amazon云上。 我认为这应该让我的成本相当低。 我的一个问题是什么是连接一切的最佳方式。 在尝试给出更多细节的同时仍然模棱两可:假设用户通过Web界面添加了我在这里称之为对象的内容。 然后我需要以某种方式让我本地服务器知道用户已经添加了这个对象,并执行一个任务t 。 说任务t修改数据库。 我可以让它修改Amazon数据库,以便更改对用户立即显而易见,或让它修改本地数据库,最终将复制到Amazon数据库。 所以这里是我的两个主要问题:
所有的build议或build议,不胜感激。
不了解你的情况,很难回答。 如果用户添加对象,但一小时内没有看到它,这是否重要? 什么是对象? 一个数据库logging,还是一个文件?
你的计算是数据库密集型还是数据库只是存储计算的输出? 如果是后者,为什么要有一个本地数据库呢? 如果前者,你的计算主要是select? 您可以在两个数据库之间build立主从复制,只在从站上运行计算。
在您的情况下,您可能需要查看Amazon Virtual Private Cloud(VPC),以便在您的EC2实例和本地服务器之间进行通信。