我正在设计一个数据库,我希望有1,000个租户,其中一些数据将在租户之间共享。我目前计划使用Postgres和行级安全来隔离租户。我还使用knex和Objection.js在node.js中建模数据库。
我看过的大多数教程都是这样的,你可以为每个租户创建一个单独的knex连接。然而,我在我的开发机器上遇到了一个问题,当我创建了大约100个连接后,我收到了这个错误:“剩余的连接插槽保留用于非复制超级用户连接”。
我正在研究一些可能的解决方案/变通办法,但我想知道是否有人能够使这个设置工作的方式,我打算。谢谢!
1条答案
按热度按时间bvhaajcl1#
也许一个解决方案是缓存有限数量的连接,并在达到限制时销毁最早缓存的连接。
但是,该代码可能需要改进,以使用Map作为
knexCache
而不是对象,因为Map会记住插入顺序。