我正在开发SaaS应用程序。我们将 Shopify / Magento Go等作为参考。
我们的SaaS架构如下:
如何实现此功能?
答案 0 :(得分:1)
为此,您必须经历一些配置选项。
这就是全部。享受!
答案 1 :(得分:0)
我认为您应该寻找术语:“codeigniter multi Tennant app”,如前所述,管理太多数据库不是解决方案!
答案 2 :(得分:0)
您可以通过这种方式实现拟议的SAAS应用程序,
应用程序本身将有1个数据库,而客户端将有N个数据库,每个新客户端将有一个新数据库。
应用数据库:该数据库将负责存储应用级别的主数据,即客户的个人资料+登录详细信息,以及他们打算共享给客户的其他与管理相关的内容。如果是shopify类型的应用程序,则主题,布局,模板可以是存储在该数据库中的主要内容。
用户数据库:仅应存储用户创建,添加的内容及其子内容。我们可以称呼用户所有权的任何内容都应存储在此处。
注意:如果是付费服务,那么您可以使用条纹或Chargebee等优质的支付网关来管理您的所有计划,订阅,电子邮件通知,催款,付款日志,付款成功/失败,付款发票。
WRT到子域和自定义域的概念,您可以使用虚拟托管机制来实现,也可以使用apache以及nginx服务器来实现。 -子域:根据服务器创建配置文件,放在适当的位置,任何创建的子域都将绑定到特定的虚拟目录 -Customdomain:可以创建与子域相同的物理目录以及配置文件,但是在这种情况下,您需要要求您的客户端与我们的IP地址进行DNS绑定
在这两种情况下,当有请求发送到我们的服务器时,服务器都会检查配置文件和物理目录是否可用,然后它将用户重定向到目的地。