小编alo*_*ins的帖子

如何设计一个多租户的node.js应用程序?

目前,我正面临一项技术决策,个人无法亲自找到解决方案。

我目前正在开发多租户数据库。

结构如下:

  • 有一个核心数据库可以保存有关特定租户的数据和关系
  • 有多个租户数据库实例(根据核心数据库中的查询,确定我应该连接到哪个租户ID)
  • 每个租户都在单独的数据库实例上(在单独的服务器上)
  • 每个租户都有特定的数据,其他租户都不应该访问这些数据
  • 每个数据库最好都位于mySQL中(但是如果有更好的选择,我愿意提出建议)
  • 后端是用koa框架编写的
  • 核心数据库和租户数据库中的数据库模型不同
  • 每个租户数据库的最大表可能有大约100万条记录(未经审核)
  • 乐观地,租户数量可能会增长到50

有关项目的其他数据:

  • 项目的所有数据可供所有者使用
  • 每个客户将拥有可用于其自己租户的数据
  • 每个租户都有自己的网站
  • 每个租户的数据库结构保持不变
  • 项目主要是物流服务,其数据是针对每个不同区域进行隔离的

问题:

这是设计多租户架构的正确方法还是应该在架构中进行重新设计?

如果可以使用多服务器的多租户-是否应该有一个更好的工具/技术堆栈?(想更具体地了解这一点

最好使用ORM。我目前正在尝试使用Sequelize,但是在初期我已经面临问题(多个数据库无法共享相同的模型,无法管理多个连接)。

理想的目标是无需过多配置即可添加其他租户的可能性。

编辑:-数据库当前将托管在Azure中,但是我们希望可以选择将它们迁移到需要的位置

database orm multi-tenant node.js koa

5
推荐指数
2
解决办法
3124
查看次数

标签 统计

database ×1

koa ×1

multi-tenant ×1

node.js ×1

orm ×1