Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于lamp的crm应用的saas体系结构_Php_Cloud_Saas - Fatal编程技术网

Php 基于lamp的crm应用的saas体系结构

Php 基于lamp的crm应用的saas体系结构,php,cloud,saas,Php,Cloud,Saas,这看起来像是一系列问题,但都与我们一直在构建的SaaS和基于PHP的应用程序有关。我们意识到我们的应用程序架构,并对其进行研究,以确保在进入生产之前遇到所有必要的技术,并且不会面临任何失败 为了支持SaaS,我们决定让我们的数据库成为多租户,每个客户都有自己的数据库。我的脑子里还想着下面的问题 如何提供定制SaaS多租户应用程序以满足单个租户需求的能力 如何确保每个租户数据库的安全性,以便他们不会意外地访问彼此的数据 什么是集群?在客户数量增加的情况下,我们如何向集群中添加新的应用程序和数据库

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

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

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

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

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

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

  • 我们如何处理SaaS应用程序的故障,特别是当我们启动新版本和更新时(持续集成)

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


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

以下是对您的一些问题的回答:

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

这就像一个正常的网站开发。假设您拥有从A到Z的资源,那么您需要将reach租户的已分配或可访问资源保留在数据库中。然后,在访问时,您只需检查权限即可

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

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


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

这不是一个坏问题,但是它非常广泛,不适合这个网站。堆栈溢出处理特定的编程问题,而不是此类问题。