在云应用程序中为每个客户端创建自定义域
问题描述:
我正在开发个人可以注册自己的云应用程序。但我很困惑,如何为每个人创造独立的区域。我一直在寻找像为每个人创建一个子域名一样的方法,并为他们分开了数据库。在云应用程序中为每个客户端创建自定义域
请帮助....
在此先感谢
答
我想你是在谈论一个SaaS(软件即服务)一类应用的。像往常一样的一般答案是,它取决于应用程序类型。它可以为所有用户使用1个数据库(或一组数据库),也可以为每个用户使用不同的数据库。
一般来说,单独的数据库/应用程序是一个更好的解决方案,有几个原因。例如,假设用户想要备份他的数据。将所有数据存储在中央数据库中使得难以单独进行备份。表现也可能是另一个原因。
另一点是不同的用户可能需要不同的计算能力。假设您正在开发一个应用程序,该程序正在由拥有20000名用户的公司使用,这种客户端所需的CPU /内存不同于拥有5个用户的公司。因此,如果您的应用程序能够针对每个客户单独部署,则可以相应地设置其环境。他们还可以停止他们的计算服务(虚拟机,Docker容器等),避免在不使用系统的情况下产生云计算成本。尽管如此,这并非银弹,在某些类型的应用程序中,中央应用程序/ db运行得更好。如果您提供有关该应用程序的更多详细信息,那么判断更好的架构会容易得多。
嗨@akazemis,对不起,很晚回复。但基本上针对的是针对企业的产品。你可以说它是一种像系统一样的ERP。 –
嗨@Shubham,我想说为这样的系统每个客户端分开设置数据库和应用程序实例会更好。正如我所说,您可能需要为每个客户分别放大或扩大规模。使用单个数据库和应用程序实例会强制大量限制,并使您的应用程序设计更加复杂。只隔离客户端应用程序并保持简单。 – akazemis
感谢您的回复,目前我们采用的是单一应用和DB /租户。但是我们面临的问题是向每个租户推出数据库更改。那么解决这个问题最好的办法是什么? –