您的位置:首页 > 运维架构 > 网站架构

多租户(数据层的多租户)架构相关资料

2016-02-16 15:16 197 查看
多租户(Multi Tenancy/Tenant)是一种软件架构,其定义是:

在一台服务器上运行单个应用实例,它为多个租户提供服务。

在SaaS实施过程中,有一个显著的考量点,就是如何对应用数据进行设计,以支持多租户,而这种设计的思路,是要在数据的共享、安全隔离和性能间取得平衡。

主流的方案是:

独立数据库

共享数据库、独立 Schema

共享数据库、共享 Schema、共享数据表

比较简单的做法是,分客户,在业务层使用tenantid来区分客户。

详情参考:http://www.ibm.com/developerworks/cn/java/j-lo-dataMultitenant/

文中提到的第二种模式,共享database,scheme分离,就是一种多租户的解决方案:所有的租户共享一个数据库实例,但是他们拥有独立的
Schema 或 Catalog,使用hibernate.multiTenancy 相关属性,指定了
ConnectionProvider,即 Hibernate 需要知道如何以租户特有的方式获取数据连接,根据 tenantIdentifier 获得相应的连接。

如此,客户的DBA,也可以自行通过租户ID来进行数据库的管理,他只能管理属于这个租户的数据。其他租户数据,逻辑不可见
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: