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

基于灯的crm应用的saas架构

司马振国
2023-03-14

这看起来像是一系列问题,但都与我们一直在构建的SaaS和基于PHP的应用程序有关。我们意识到我们的应用程序架构,并对其进行研究,以确保在进入生产之前遇到所有必要的技术,并且不会面临任何失败。!

为了支持SaaS,我们决定让我们的数据库成为多租户,每个客户都有自己的数据库。我的脑子里还想着下面的一系列问题。

>

  • 如何提供定制SaaS多租户应用程序的能力,以满足各个租户的需求?

    如何确保每个租户数据库的安全性,使他们不会意外访问彼此的数据?

    什么是集群?如果客户数量增加,我们如何向集群中添加新的应用程序和数据库实例

    我们如何确保SaaS网站的性能和可扩展性?

    我们如何处理SaaS应用程序的故障,尤其是当我们发布新版本和更新时(持续集成)?

    在SaaS应用程序中,是否有处理订户/客户以及激活和停用模块权限的特殊解决方案?

    我附上了我们决定使用的数据库的框图

  • 共有1个答案

    刘阳舒
    2023-03-14

    在编写PHP中的SaaS应用程序时,我写了一篇很好的文章,其中有许多我们需要考虑的项目。在Zend框架中使用PHP检查SaaS应用程序开发

    以下是您的一些问题的答案:

    如何提供定制SaaS多租户应用程序的能力,以满足各个租户的需求?

    这就像一个普通的网站开发。假设你有从A到Z的资源,那么你需要将分配或可访问的资源保存在数据库中。然后在访问时,你可以简单地检查权限。

    如何确保每个租户数据库的安全性,使他们不会意外访问彼此的数据?

    SaaS应用中的数据库设计是一个关于堆栈溢出的话题。您可以为每个租户使用单个数据库或唯一数据库。对于大型项目,第二个项目是合适的。

    如果使用单一数据库,只需将TENANT ID存储在所有表中。然后在验证租户时,根据请求来自的子域将租户ID保存在会话中。然后在所有数据库操作中传递该ID,因此不会意外影响任何其他租户的数据。

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

    • 我想知道如何为每个租户提供定制。我想提供在租户想要的每种形式中添加新字段的设施,包括字段名、数据类型等。现在我的问题是如何为这种类型的场景设计数据库表?正如我所想的那样,我们必须给每个表单赋予表单id,每当租户在表单中创建新字段时,应该在数据库表中创建一个新的行,该行应该具有租户id、表单id、字段名称、数据类型等... 现在请给我真正的解决方案的朋友......我需要这个数据库表设计解决方案立即

    • 有没有人有过自动化桌面应用程序(不是web)的经验?我需要一个类似于Appium的解决方案来将它与我的移动自动化集成(用Appium、Java编写)。 我们公司在3个平台上都有一个messenger客户端:Android、iOS和桌面。客户端数据在这些平台之间同步。我们已经有了移动平台的基本自动化(使用Appium)。现在我需要为桌面开发自动化。 我想要一个类似Appium的解决方案,这样就可以很

    • 我正在为django中的SaaS应用程序编写后端。需要一些架构方面的指导。因此,该产品将有两种产品:一种是所有用户共享同一数据库的通用产品,另一种是带有专用数据库的高级产品。我计划如何将其翻译成django,如下所示: 在django项目中,将有一个应用程序用于通用产品 我现在看到的这个架构的问题是: 在所有的观点中,一旦优质客户的数量增加,我将不得不写很多有条件的陈述 新的高级客户的加入需要相当

    • 17.4 基于 XML 架构的配置 可以使用来自 OXM 命名空间的 XML 标签是对编组器的配置变得更简洁。要使用这些标签,请在 XML 文件开头引用恰当的 XML 架构。以下是一个引用 oxm 的示例,请注意粗体字部分: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/sch

    • pbgo是我们专门针对本节内容设计的较为完整的迷你框架,它基于Protobuf的扩展语法,通过插件自动生成rpc和rest相关代码。在本章第二节我们已经展示过如何定制一个Protobuf代码生成插件,并生成了rpc部分的代码。在本节我们将重点讲述pbgo中和Protobuf扩展语法相关的rest部分的工作原理。 4.7.1 Protobuf扩展语法 目前Protobuf相关的很多开源项目都使用到了