代码之家  ›  专栏  ›  技术社区  ›  Sam Winston

SaaS体系结构-数据污染

  •  1
  • Sam Winston  · 技术社区  · 6 年前

    与家居装修行业的初创公司合作。它是一个SaaS模型-多租户系统。每个帐户都是唯一标识的,所有客户、项目和其他数据都是使用唯一的帐号标识的。我们使用的是MVC框架,当用户登录时,查询使用帐户的会话。随着我们的不断发展,我不断反思我所做的事情——担心交叉污染和其他多租户问题。

    有没有什么好的“最佳实践”链接,或者我到目前为止做过什么?我认为我的担忧是件好事,因为我知道数据、结构等等。我觉得这比不在乎要好。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Asaf Epelbaum    6 年前

    我还在一家开发SaaS产品的公司工作多年。

    你的思维方式是正确的。

    只要数据在逻辑上由属于特定用户的相应唯一ID分隔,您就走在了正确的道路上。

    您可以通过为每个客户创建一个单独的数据库/模式来分离数据,将他们彼此隔离。

    如果你真的担心你的服务器被黑客攻击,那么你可以尝试在多个服务器中分离微妙的数据,这样你就不会把所有的数据都放在一个地方。这将需要更复杂的维护过程,必须为每次系统更新更新每个服务器,甚至不需要讨论这种体系结构的成本。

    您始终可以扩展和创建物理分隔,其中某个数据可能位于另一个数据库服务器中,但我认为,在大多数情况下,如果操作正确,虚拟分隔数据就更合适了。