【发布时间】:2017-11-22 22:52:32
【问题描述】:
我正在尝试使用 nodejs 和 postgres 构建一个多租户(/软件即服务),并作为 ORM 续集。出于安全原因,我决定为每个客户端使用单独的数据库,而不是让所有表都具有额外列的单个数据库。我取得了结果,但性能并不好,因为我必须根据 sequelize 为每个数据库初始化模型(几乎每个请求)。有没有更好的方法来做到这一点?我在续集中遗漏了什么吗?
【问题讨论】:
-
使用具有单一数据库 (Postgres) 的池,您将拥有更好的可扩展性和更少的麻烦
-
也许贴一些代码? FWIW,您应该只需要初始化一次模型(您绝对不需要在每次请求时重新定义它们)。如果您愿意,您可以保留单独的数据库 - 只需使用相关连接详细信息为每个数据库创建一个 sequelize 实例,并在应用启动时将您的模型定义传递给每个数据库。
标签: node.js postgresql sequelize.js multi-tenant saas