首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于lamp的crm应用的saas体系结构

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

Stack Overflow用户
提问于 2012-05-22 12:46:32
回答 1查看 1.3K关注 0票数 0

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

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

  • 如何提供自定义SaaS多租户应用程序以满足单个租户需求的能力?
  • 如何确保每个租户数据库的安全性,使它们不会意外地访问对方的数据?
  • 什么是集群,如何在增加no的情况下向它们添加新的应用程序和数据库实例。顾客的吗?
  • 我们如何确保SaaS网站的性能和可伸缩性?
  • 我们如何处理SaaS应用程序的故障,特别是当我们启动新版本和更新时(持续集成)?
  • 在SaaS应用程序中,有什么特殊的解决方案来处理订阅者/客户以及激活和停用模块的权限?

我已附上我们决定使用的DB的框图。

EN

回答 1

Stack Overflow用户

发布于 2012-05-31 13:58:33

我写了一篇很好的文章,其中包含了在PHP中开发SaaS应用程序时需要考虑的许多内容。检查Zend中使用PHP开发SaaS应用程序

你的一些问题的答案如下:

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

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

如何确保每个租户数据库的安全性,使它们不会意外地访问对方的数据?

在SaaS应用程序上的数据库设计是一个经常讨论的关于堆栈溢出的问题。您可以为每个租户提供一个数据库或唯一的数据库。对于大型项目,第二个项目是合适的。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10702316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档