我们计划基于SaaS模式准备一个“在线服装店”产品。
不同的布料供应商应注册我们的门户网站。他们将获得Web界面来管理自己的服装目录。
当最终用户注册系统时,他们可以看到不同供应商的不同目录。 当然,他们可以对可用产品进行标准搜索,过滤,排序等。 选择后,他们将订购物品。相应的供应商应获得从他的目录中选择的那些项目的订单。
最后,我们需要管理面板和客户CRM。它将保留所有客户的记录和数据。我们需要生成关于客户的分析。我们将记录客户如何响应不同供应商的不同产品并根据行为进行研究。
它需要是非常可扩展的产品。明天,即使有数百家供应商想要加入,也应该支持它。
我需要有关架构和整体设计的建议:
答案 0 :(得分:7)
构建SAAS软件涉及一些事项。
应该使用什么架构?
强烈建议使用SOA /微服务架构。松耦合,集群和负载均衡。
任何参考系统都可供考虑?
谷歌搜索可能会举例说明。
任何特定的设计模式,我们可以在实施时考虑吗?
没有单一的设计模式。坚持SOA和高度分离的子系统将有所帮助。考虑微服务并根据您的要求评估其优缺点。看一眼 Explanation of Tenant Load Balancer in SaaS maturity model level 4
有关数据库设计的任何建议吗?
有一些数据库模型可以帮助SAAS软件。看看Databse architecture (single db vs client specific db) for Building Enterprise Web (RIA) application on cloud
如何确保门户网站可扩展?
理想情况下,云部署可根据需要添加新实例。即使不在云上,也需要使用路由/负载平衡的类似设置,其中可以添加新实例,类似于私有云。