多个项目,多种语言,相同的身份验证

时间:2014-12-04 02:43:39

标签: ruby-on-rails node.js postgresql authentication

所以我有多个项目,我想在Postgres数据库中使用一组通用的核心表来映射它们之间的身份验证方案。 “用户”帐户“组”或其他相关用户信息等内容存储在这些表中。我目前的项目是nodejs(多个设备)和Ruby Web应用程序(稍后在多个设备上进行规划),我们将来也可以拥有Django或其他节点项目。是否有一种高效,经济的方法来实现可扩展性和可靠性?我正在考虑使用s3实例和托管在其上的Postgres数据库,并将我的多个应用程序的所有身份验证指向该数据库,但我想看看其他人是否也考虑过这个问题。

1 个答案:

答案 0 :(得分:1)

首先,请不要尝试在S3中托管postgres。我相信你可能认为EC2带有EBS卷(实际上是在s3上)。从易用性的角度来看(特别是在考虑持续维护时),在亚马逊的RDS产品上托管任何postgres实例真的很愉快。如果不了解该产品的所有细节,我只需说明您只需点击几下即可设置高可用性(故障转移),备份,升级和监控。

话虽如此,RDS并不是最便宜的解决方案,但成本也不高,取决于您的负载和同时连接的数量。

如果所有这些数据库要做的就是对人进行身份验证然后断开连接 - 这样做很有效并且会浪费资源。但是,如果您拥有一组相当复杂的权限和其他用户数据,那么它可能是一个相当简单的解决方案。

根据您的预算和要求,您可能会在某个地方的应用服务器上运行pgPool以汇集连接 - 但除非您需要,否则我不会开始使用pgPool。