在家庭装修行业与一家初创公司合作。它是一个SaaS模型-多租户系统.每个帐户都是唯一标识的,所有客户、项目和其他数据都使用唯一的帐号进行标识。我们使用MVC框架,当用户登录时,查询使用帐户的会话。随着我们的不断成长,我不断反思我所做的事情--关心交叉污染和其他多租户问题。
有没有什么好的“最佳实践”链接,或者已经通过了我迄今所做的工作?我认为我的担心是一件好事,因为我知道数据,结构和诸如此类的东西。我觉得总比没有真正的关心好。
发布于 2018-05-10 08:09:55
我还在一家开发SaaS产品多年的公司工作。
你的思维方式是正确的。
只要数据在逻辑上由属于特定用户的相应唯一ID分隔,您就处于正确的路径上。
您可以通过为每个客户创建一个单独的数据库/模式来分离数据,并将它们彼此隔离。
如果您真的担心您的服务器被黑客攻击,那么您可以尝试将多台服务器中的微妙数据分离开来,这样您就不会将所有数据放在一个地方。这将需要更复杂的维护过程,必须更新每个系统更新的每个服务器,甚至无需讨论这样一个体系结构的成本。
您总是可以扩展和创建物理分离,其中某个数据可能位于另一个数据库服务器中,但我认为,在大多数情况下,对数据进行实际划分是非常好的--如果做得正确的话。
https://stackoverflow.com/questions/50264103
复制相似问题