托管PHP应用程序的最佳实践



我用CodeIgniter编写了一个PHP应用程序。我计划将其作为托管应用程序(软件即服务)进行销售。

这些应用程序允许用户:

  • 创建帐户
  • 创建用户
  • 管理文件
  • 管理订单
  • 有通讯录
  • 搜索
  • 报告等等它使用一个数据库。最好的例子是新书。(反正不是我的竞争对手。)

我的问题是:

托管应用程序的最佳配置是什么?请记住,应用程序可以增长到成千上万的用户。

实际配置为:

  1. 代码example.com/appfolder的一个位置
  2. 用户将在example.com上创建帐户
  3. 在用户帐户上,每个用户都有一个使用该应用程序的链接

user1.example.com

user2.example.com

所有子域都指向同一个example.com/appfolder

  1. example.com有一个数据库,用来记录用户及其每月付款情况
  2. 该应用程序托管在example.com/appfolder上,并根据url为每个用户选择一个单独的数据库

对于100200300个用户来说,一切看起来都很好,但如果我有1000或2000个用户,我将不得不管理和备份1000或2000数据库(每个3-5MB)

我知道我应该为所有用户提供一个单一的数据库,但这会使管理变得非常困难,而且用户数据库中存在敏感数据。

最重要的是,用户可以创建可以使用相同应用程序的用户,但只能在管理员用户(在exmaple.com上注册)创建的子域上。

这种配置会使拥有2000多名管理员用户(即2000 db)的专用服务器崩溃吗?

Basic与CMS非常相似,但更专业。

有更实用的方法来进行此配置吗?

如有任何建议,我们将不胜感激。非常感谢。

单个数据库或分片数据库(http://www.codefutures.com/database-sharding/)为所有用户存储数据比2000个数据库更快、更易于维护、不那么麻烦,而且全面性能更好。

编写您需要的代码来管理您的安全性,否则稍后当您试图通过一个小的模式更改来更新2000个数据库时,您将自食其果。

我的建议是使用一个域名(没有子域),一旦你有2000个用户,你就有资金和资源来改进。

相关内容

  • 没有找到相关文章

最新更新