【问题标题】:Node Architecture with Multiple Mongo DBs具有多个 Mongo DB 的节点架构
【发布时间】:2021-03-30 07:50:42
【问题描述】:
我们有一个 SaaS 平台,允许客户在注册时创建新实例和单独的数据库。问题是为每个新客户创建一个新实例成本高昂且难以维护。
我们有一个简单的解决方案 -
- 将所有数据库合并为一个并相应地重新编写代码(完成成本高,我们希望将客户端数据库分开)
理想情况下,
- 我们希望拥有单独的数据库但通用应用程序实例,因为它易于维护并显着降低我们的服务器成本。
是否有适当的方法使应用程序运行单个实例但根据登录的客户端连接不同的数据库?与单独的实例和单独的数据库相比,它对性能有何影响?
What we Have Already
What we Want Ideally
【问题讨论】:
标签:
node.js
mongodb
amazon-ec2
database-design
architecture
【解决方案1】:
我认为连接到大量数据库的一个实例可能不太合适(它可能很快成为瓶颈)。
另一个(也许更好的)中间选项是拥有多个多租户实例(每个实例都能够处理来自多个客户端的请求)。
这样,您可以更有效地分散入站负载(因为您的实例数量将少于客户端数量,但会超过一个以避免出现瓶颈),而且出站流量也会被分配,因为一个多租户实例可能不必连接到所有数据库,而是连接到其中的一个子集(取决于登录的客户端)。
这里的一个重要向量是每个租户获得的吞吐量。根据这一点,您可以决定一个实例是否足够,或者您需要添加更多实例。