当前位置: 首页 > 知识库问答 >
问题:

SaaS体系结构-数据污染

俞衡虑
2023-03-14

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

有没有什么好的“最佳实践”链接,或者我到目前为止做过什么?我认为我关心的是一件好事,因为我知道的数据,结构和诸如此类。我觉得这比不在乎要好。

共有1个答案

彭涵衍
2023-03-14

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

你的思维方式是正确的。

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

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

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

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

 类似资料:
  • 我们计划基于SaaS模式开发一款产品“在线服装店”。 不同的布料供应商应注册到我们的门户网站。他们将获得网络界面来管理自己的服装目录。 当最终用户在系统中注册时,他们可以看到不同供应商的不同目录。当然,他们可以对现有产品进行标准搜索、筛选、排序等。选择后,他们将订购商品。各供应商应获得从其目录中选择的这些项目的订单。 在我们这方面,我们将需要管理小组和客户关系管理。它将为所有客户保留记录和数据。我

  • 我经常听说,在微服务架构中,对于每一个微服务,我们都必须创建单独的数据库。 但是,如果我必须在不同的数据库中维护外键约束,这是不可能的。就像我在身份验证微服务中有一个用户表,我想在我的目录服务中使用它(用户表中的用户 ID 列) 那么如何解决呢。 感谢提前

  • Ceph 独一无二地用统一的系统提供了对象、块、和文件存储功能,它可靠性高、管理简便、并且是自由软件。 Ceph 的强大足以改变贵公司的 IT 基础架构、和管理海量数据的能力。Ceph 可提供极大的伸缩性——供成千用户访问 PB 乃至 EB 级的数据。 Ceph 节点以普通硬件和智能守护进程作为支撑点, Ceph 存储集群组织起了大量节点,它们之间靠相互通讯来复制数据、并动态地重分布数据。 Cep

  • 冯·诺依曼体系结构 计算机处理的数据和指令一律用二进制数表示 顺序执行程序 计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器(内存),计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行,这一概念称作顺序执行程序。 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。 数据的机内表示 二进制表示 机器数 由于计算机中符号和数字一样,都必须用二进制数串来表

  • 主要内容:1. Data Access/Integration(数据访问/集成),2. Web 模块,3. Core Container(Spring 的核心容器),4. AOP、Aspects、Instrumentation 和 Messaging,5. Test 模块Spring 框架基本涵盖了企业级应用开发的各个方面,它包含了 20 多个不同的模块。 图1:Spring架构图 上图中包含了 Spring 框架的所有模块,这些模块可以满足一切企业级应用开发的需求,在开发过程中可以根据需求有选

  • 主要内容:请求的生命周期:由高层次,Struts2是一个上拉型MVC(MVC2)框架。在Struts2的模型 - 视图 - 控制器模式,实现以下五个核心部件: Actions Interceptors Value Stack / OGNL Results / Result types View technologies Struts 2 从传统的MVC框架操作需要的模型,而不是在控制器角色略有不同,虽然有一些重叠。 上面的