Postgresql Aws应用程序与Heroku Postgres数据库
有可能在aws EC2上运行应用程序,并在heroku的postgres上运行其数据库吗?Postgresql Aws应用程序与Heroku Postgres数据库,postgresql,amazon-ec2,amazon-web-services,Postgresql,Amazon Ec2,Amazon Web Services,有可能在aws EC2上运行应用程序,并在heroku的postgres上运行其数据库吗? 如果是这样的话,我应该考虑哪些不利因素? 由于heroku托管在AWS,有没有办法知道运行我的数据库的机器的位置? 在数据库的同一区域托管我的应用程序将有助于保持性能? 我想听听关于这方面的一些意见,我一直在搜索这个主题,但没有太多成功。我对Heroku PostgreSQL没有任何经验。 通常,您可以在AmazonEC2上运行自己的服务,并使用Heroku的托管数据库服务 缺点可能是 没有人可以保证,
如果是这样的话,我应该考虑哪些不利因素? 由于heroku托管在AWS,有没有办法知道运行我的数据库的机器的位置?
在数据库的同一区域托管我的应用程序将有助于保持性能?
我想听听关于这方面的一些意见,我一直在搜索这个主题,但没有太多成功。我对Heroku PostgreSQL没有任何经验。 通常,您可以在AmazonEC2上运行自己的服务,并使用Heroku的托管数据库服务 缺点可能是
- 没有人可以保证,Herouku只使用AWS,您可能无法确定云内的物理Heroku服务位置,因此您将不得不处理网络延迟
- 除了您的外部流量费用外,您还必须支付数据库流量,除非您与同一区域中同一可用性区域中的服务器通话
我在AWS上运行了大约70个服务器实例,包括RDS和EC2,至今已有一年多的时间,我无法想象有任何更简单的方法来保持您的设备运行您可以使用
跟踪路由
在任何给定时间确定Heroku DB面向公众的位置。。。但不能保证它会停留在那个位置,也不能保证不会进行任何内部重新路由。您可能希望直接与Heroku支持人员讨论如何确保Heroku DB实例是AWS应用程序实例的本地实例,因为这肯定会提高性能。查看是否可以找到运行DB的可用性区域,或者至少是主要区域,以及是否可以将数据库实例“固定”到给定的区域/区域
亚马逊的RDS看起来不错,但不支持PostgreSQL。请继续唠叨他们
如果性能不是特别重要,我可能会在AWS上运行DB。在经过EBS优化的实例上使用raid10配置的IOPS EBS卷,您将获得不错的性能(但价格非常昂贵);或者,您可以使用基于ssd的非崩溃安全实例存储服务器,并依靠复制和备份来确保数据安全