Php 基于lamp的crm应用的saas体系结构
这看起来像是一系列问题,但都与我们一直在构建的SaaS和基于PHP的应用程序有关。我们意识到我们的应用程序架构,并对其进行研究,以确保在进入生产之前遇到所有必要的技术,并且不会面临任何失败 为了支持SaaS,我们决定让我们的数据库成为多租户,每个客户都有自己的数据库。我的脑子里还想着下面的问题Php 基于lamp的crm应用的saas体系结构,php,cloud,saas,Php,Cloud,Saas,这看起来像是一系列问题,但都与我们一直在构建的SaaS和基于PHP的应用程序有关。我们意识到我们的应用程序架构,并对其进行研究,以确保在进入生产之前遇到所有必要的技术,并且不会面临任何失败 为了支持SaaS,我们决定让我们的数据库成为多租户,每个客户都有自己的数据库。我的脑子里还想着下面的问题 如何提供定制SaaS多租户应用程序以满足单个租户需求的能力 如何确保每个租户数据库的安全性,以便他们不会意外地访问彼此的数据 什么是集群?在客户数量增加的情况下,我们如何向集群中添加新的应用程序和数据库
- 如何提供定制SaaS多租户应用程序以满足单个租户需求的能力
- 如何确保每个租户数据库的安全性,以便他们不会意外地访问彼此的数据
- 什么是集群?在客户数量增加的情况下,我们如何向集群中添加新的应用程序和数据库实例
- 我们如何确保SaaS网站的性能和可扩展性
- 我们如何处理SaaS应用程序的故障,特别是当我们启动新版本和更新时(持续集成)
- 在SaaS应用程序中,是否有处理订户/客户以及激活和停用模块权限的特殊解决方案
在编写PHP中的SaaS应用程序时,我写了一篇很好的文章,其中有许多我们需要考虑的项目。检查 以下是对您的一些问题的回答: 如何提供定制SaaS多租户应用程序以满足单个租户需求的能力 这就像一个正常的网站开发。假设您拥有从A到Z的资源,那么您需要将reach租户的已分配或可访问资源保留在数据库中。然后,在访问时,您只需检查权限即可 如何确保每个租户数据库的安全性,以便他们不会意外地访问彼此的数据 SaaS应用程序的数据库设计是一个关于堆栈溢出的话题。您可以为每个租户使用单个数据库或唯一数据库。对于大型项目,第二个是合适的
如果使用单个数据库,只需将租户ID存储在所有表中即可。然后,在验证租户时,根据请求来自的子域将租户ID保持在会话中。然后在所有数据库操作中传递此ID,因此不会意外影响任何其他租户的数据 这不是一个坏问题,但是它非常广泛,不适合这个网站。堆栈溢出处理特定的编程问题,而不是此类问题。