在我工作的公司,我们为数据库被隔离的多个组织开发和托管一个CRM系统--也就是说,我们的客户不共享一个类似于Facebook的大型数据库,我们每个客户都有单独的数据库,但是拥有相同的CRM软件。所有其他系统方面,例如缓存,都是特定于组织的。
我们正在将服务器迁移到AWS上,这给了我们一个思考基础设施的机会。
我们的基本系统是使用CodeIgniter框架编写的,因此我们考虑的不是拥有同一个客户关系管理的多个实例,而是创建单个实例,并根据主机名/用户帐户附加相关的数据库凭据(这种方法将通过一个专用的URL访问客户关系管理)。例如,如果用户A为公司B工作,我们将连接到公司B的数据库,而不是公司C。这个例子也有助于我们的版本控制。
我只是想知道其他人是否有过类似的经历,一般的感觉是将实例完全隔离,还是迁移到真正的“软件作为服务”的单一实例方法?
发布于 2017-01-09 10:59:18
它实际上取决于DB大小和流量。如果您有大量的流量,那么单独的DB会更好,因为如果它们需要更多的资源,那么可以轻松地将它们转移到它们自己的服务器实例中。如果您没有太多的流量,您可以使用一个DB,但如果您需要做一些特定于公司的事情,这是有风险的。就代码而言,单个实例更容易维护,因为您不必为每个实例单独推出更改,如果服务器达到容量,只需使用负载均衡器并旋转更多相同webserver ()的实例,记住DBs应该位于单独的服务器/s上。
发布于 2017-01-10 08:40:15
发布于 2017-01-11 09:52:23
在选择多层或单一租赁体系结构时,有几个重要的考虑因素,包括:
https://stackoverflow.com/questions/41546278
复制相似问题