使用Heroku Postgres数据库的AWS应用程序

5

是否可能在 AWS EC2 上运行应用程序并在 Heroku 的 Postgres 中运行其数据库?
如果可以,我应该考虑哪些缺点?
由于 Heroku 托管在 AWS 上,有没有办法知道运行我的数据库的机器的位置?
将我的应用程序托管在与数据库相同的地理位置区域是否有助于保持性能?
我想听听这方面的一些意见,我已经搜索了这个主题但并没有找到太多成功的信息。

2个回答

4
您可以使用traceroute来确定您在Heroku DB上的公共位置,但不能保证它会留在那个位置,也不能保证没有任何内部重定向。 您可能希望直接与Heroku支持团队联系,了解确保您的Heroku DB实例与您的AWS应用程序实例本地化的方法,这肯定会有助于性能。 请尝试找出他们在哪个可用区或至少哪个主要地区运行DB,以及是否可以将数据库实例“固定”到特定的区域/区域。
亚马逊的RDS看起来还不错,但不支持PostgreSQL。 请继续督促他们支持。
如果性能不是特别重要,我可能会在AWS上运行DB。 在EBS优化实例上使用RAID10的预配IOPS EBS卷,您将获得基本上可以接受的性能(但成本非常高); 或者,您可以使用不安全的ssd-based instance store服务器,并依靠复制和备份来保护您的数据。

3
我没有Heroku PostgreSQL的任何经验。一般来说,你可以在Amazon EC2上运行自己的服务,并使用Heroku的托管数据库服务。
缺点可能是:
- 没有人保证Heroku专门使用AWS,你可能无法确定云中物理Heroku服务的位置,因此必须处理网络延迟。 - 除了外部流量费用外,你还需要支付数据库流量费用,除非你与同一区域内同一可用性区域的服务器通信。
我的建议(不知道Heroku的优点):
如果你不想在自己的服务器上运行数据库服务器,请查看Amazon RDS。

http://aws.amazon.com/de/rds/

我在AWS上运行了约70个服务器实例,包括RDS和EC2,已经有一年多了,我无法想象还有更简单的方法来保持您的内容运行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接