我用CodeIgniter编写了一个PHP应用程序。我计划将其作为托管应用程序(软件即服务)出售。
这些应用允许用户:
我的问题是:
托管应用程序的最佳配置是什么?请记住,该应用程序可以增长到成千上万的用户。
实际配置为:
user1.example.com
user2.example.com
.................
所有子域名都指向相同的example.com/appfolder
对于100,200,300名用户来说,一切看起来都很好但是如果我有1000或2000个用户,我将需要管理和备份1000或2000个数据库(每个3-5MB)
我知道我应该为所有用户提供一个数据库,但这会使管理起来非常困难,并且用户数据库中存在敏感数据。
最重要的是,用户可以创建可以使用相同应用程序的用户,但只能创建由admin用户创建的子域(在exmaple.com上注册)
此配置是否会崩溃具有超过2000个管理员用户的专用服务器(这意味着2000 db)?
Basic与CMS非常相似,但更专业。
有更实用的方法可以进行此配置吗?
任何建议都将不胜感激。提前谢谢了。
答案 0 :(得分:1)
为所有用户存储数据的单个数据库或分片数据库(http://www.codefutures.com/database-sharding/)更快,更易于维护,更简单,并且比2000数据库更好。
编写管理安全性所需的代码,或者稍后当您尝试通过小型架构更改来更新2000数据库时,您将自己开始。
我的建议是使用单个域名(没有子域名),一旦拥有2000个用户,您将有足够的资金和资源来改进。