Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Aws应用程序与Heroku Postgres数据库_Postgresql_Amazon Ec2_Amazon Web Services - Fatal编程技术网

Postgresql Aws应用程序与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的托管数据库服务 缺点可能是 没有人可以保证,

有可能在aws EC2上运行应用程序,并在heroku的postgres上运行其数据库吗?
如果是这样的话,我应该考虑哪些不利因素? 由于heroku托管在AWS,有没有办法知道运行我的数据库的机器的位置?
在数据库的同一区域托管我的应用程序将有助于保持性能?

我想听听关于这方面的一些意见,我一直在搜索这个主题,但没有太多成功。

我对Heroku PostgreSQL没有任何经验。 通常,您可以在AmazonEC2上运行自己的服务,并使用Heroku的托管数据库服务

缺点可能是

  • 没有人可以保证,Herouku只使用AWS,您可能无法确定云内的物理Heroku服务位置,因此您将不得不处理网络延迟
  • 除了您的外部流量费用外,您还必须支付数据库流量,除非您与同一区域中同一可用性区域中的服务器通话
我的建议(不知道Heroku的优点的任何细节)

如果您不想自己运行数据库服务器,请查看AmazonRDS


我在AWS上运行了大约70个服务器实例,包括RDS和EC2,至今已有一年多的时间,我无法想象有任何更简单的方法来保持您的设备运行

您可以使用
跟踪路由
在任何给定时间确定Heroku DB面向公众的位置。。。但不能保证它会停留在那个位置,也不能保证不会进行任何内部重新路由。您可能希望直接与Heroku支持人员讨论如何确保Heroku DB实例是AWS应用程序实例的本地实例,因为这肯定会提高性能。查看是否可以找到运行DB的可用性区域,或者至少是主要区域,以及是否可以将数据库实例“固定”到给定的区域/区域

亚马逊的RDS看起来不错,但不支持PostgreSQL。请继续唠叨他们

如果性能不是特别重要,我可能会在AWS上运行DB。在经过EBS优化的实例上使用raid10配置的IOPS EBS卷,您将获得不错的性能(但价格非常昂贵);或者,您可以使用基于ssd的非崩溃安全实例存储服务器,并依靠复制和备份来确保数据安全