一个关于系统应该如何架构的一般性问题。
我正在考虑建立一个网络系统,允许企业登录和管理他们的客户(在一个特定的市场)。
现在,我希望他们只需转到我们的网站并单击登录,一旦他们这样做,他们将登录到他们的帐户,并看到他们的客户数据。
我遇到的问题是数据库/应用程序应该如何构建。
第一个选择可能是在他们自己的服务器上托管“他们的”系统,但这是昂贵的。
第二种选择是将所有数据都托管在同一个数据库中,并在customers表中定义它们属于哪个公司,并编写查询代码,使其只查找具有相同公司id的客户。
第三种选择是让相同的应用程序文件托管在相同的web服务器上,但定义每个客户的逻辑,然后连接到他们自己的数据库(托管在相同的服务器上,但在不同的数据库下)。
第二种选择是最简单的,但我不喜欢许多不同的业务客户数据在同一个表中,对我来说,它应该是独立的。
因此,问题是,构建这样一个系统的最佳方式是什么,以便在提供最佳安全性的同时降低成本,例如,不为每个公司都配备一台服务器?
发布于 2018-06-15 06:31:09
一个数据库服务器上可以有多个数据库。都是由不同的用户分开的。
您可以设置一个数据库集群(以实现高可用性),并为每个安装提供集群中的一个数据库。
此外,还可以将docker和rancher作为虚拟化平台。您可以在同一硬件上启动多个站点,同时将它们全部分隔在不同的网络中。
https://stackoverflow.com/questions/50866589
复制相似问题