在我工作的公司,我们为多个组织开发和托管CRM系统,其中数据库是隔离的 - 即我们的客户不共享一个类似于Facebook的大型数据库,我们每个客户端都有单独的数据库,但是相同的CRM软件。所有其他系统方面(如缓存)都是特定于组织的。
我们正在将我们的服务器迁移到AWS上,这使我们有机会考虑基础架构。
我们的基础系统是使用CodeIgniter框架编写的,因此我们考虑的是代替同一个CRM的多个实例,创建单个实例并根据主机名/用户帐户附加相关的数据库凭据(此方法,CRM将通过专用URL访问)。例如。如果用户A在公司B工作,我们将连接到公司B的数据库而不是公司C.这个例子也有助于我们的版本控制。
我只是想知道其他人是否有类似的经历,以及一般的感觉是保持实例完全隔离还是迁移到真正的“软件即服务”单实例方法?
答案 0 :(得分:0)
它实际上取决于数据库大小和流量。如果您拥有大量流量,那么单独的数据库会更好,因为如果他们需要更多资源,您可以轻松地将它们移到自己的服务器实例上,而且管理起来更容易。如果您没有大量流量,则可以使用一个数据库,但如果您需要执行特定于公司的某些操作,则存在风险。代码方面,单个实例更容易维护,因为您不必单独为每个实例推出更改,如果您的服务器达到容量,只需打开负载均衡器并启动同一个Web服务器的更多实例()保持记住DB应该在不同的服务器上。
答案 1 :(得分:0)
答案 2 :(得分:0)
选择多租户或单租户架构有几个重要的考虑因素,包括: