2012-11-11 44 views
5

是否有可能在aws EC2上運行一個應用程序,並讓它的數據庫在heroku的postgres上運行?
如果是這樣,我應該考慮哪些缺點?
由於heroku託管在AWS,有沒有辦法知道運行我的數據庫的計算機的位置在哪裏?
將我的應用程序託管在數據庫的相同區域將有助於保持性能?
我想聽聽這方面的一些意見,我一直在尋找這個主題,但沒有取得太大的成功。Aws應用程序與Heroku Postgres數據庫

回答

4

你能確定在任何給定時間您的Heroku數據庫的公共位置traceroute ...但不能保證它會留在那個位置,或者沒有任何內部重新路由正在進行。您可能希望直接與Heroku支持溝通,瞭解如何確保您的Heroku數據庫實例對您的AWS應用程序實例是本地的,因爲這肯定會使性能受益。查看是否可以找出哪個可用性區域,或者至少哪個主要區域,他們運行數據庫,以及是否可以將數據庫實例「固定」到給定的區域/區域。

亞馬遜的RDS看起來不錯,但不支持PostgreSQL。請保持嘮叨。

我可能只是在AWS上運行數據庫,如果性能不是特別重要。在經過EBS優化的實例上使用RAID 10預配置的IOPS EBS卷,您將獲得種類不錯的性能(但價格非常高)。或者,您可以使用基於非崩潰安全的基於ssd的實例存儲服務器,並依靠複製和備份來保證數據安全。

3

我對Heroku PostgreSQL沒有任何經驗。 通常您可以在Amazon EC2上運行您自己的服務並使用Heroku的託管數據庫服務。

缺點可能是

  • 沒有人擔保,即Herouku只使用AWS,你可能無法確定雲內的物理Heroku的服務位置,這樣你將不得不面對與網絡延遲
  • 除到外部流量費,你就得除非你在同一區域

我的建議同服務器在同一個可用性區域(不知道關於他的優點任何細節支付的數據庫流量roku)

如果您不想自己運行數據庫服務器,請查看Amazon RDS。

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

我現在運行大約70服務器實例在AWS上,既RDS和EC2的一年多的時間,我無法想象任何簡單的方法來保持你的東西跑

相關問題