2014-12-04 99 views
0

所以我有多個項目,我想在Postgres數據庫中使用一組公用的核心表來映射它們之間的認證方案。諸如「用戶」帳戶「組」或其他相關用戶信息的東西存儲在這些表中。我目前的項目是一個nodejs(多個設備)和一個Ruby web應用程序(稍後在多個設備上進行規劃),我們也可以在將來有一個Django或另一個節點項目。有沒有一種高效率,低成本的方法來實現這一目標,並且具有可擴展性和可靠性?我正在考慮使用一個s3實例和託管在其上的Postgres數據庫,並將我的多個應用程序中的所有身份驗證指向該數據庫,但我想知道其他人是否也考慮過這個問題。多個項目,多種語言,相同的身份驗證

+0

避免使用表名'user',因爲這個名字有一個內置的僞函數,並且它是一個關鍵字,所以你必須像''user''那樣引用它。 – 2014-12-04 04:18:05

回答

1

首先,請不要嘗試在S3中託管postgres ..我相信你可能意味着EC2與EBS卷(這實際上是在s3上)。從易用性的角度來看(特別是在考慮持續維護時),在亞馬遜的RDS產品上託管任何postgres實例確實是一種樂趣。沒有深入瞭解該產品的所有細節,我只需簡單說明,只需點擊幾下即可設置高可用性(故障切換),備份,升級和監控。這就是說,RDS並不是最便宜的解決方案,但成本並不高,這取決於您的負載和同時連接的數量。

如果所有這些數據庫都要進行身份驗證,然後斷開連接 - 那麼這樣做會過度並會浪費資源。但是,如果您擁有相當複雜的一組權限和其他用戶數據,那麼它可能是一個相當簡單的解決方案。

根據您的預算和要求,您可能會受益於在您的應用服務器上運行pgPool來集中連接 - 但我不會開始使用pgPool,除非您需要它。