之前公司网站需要用到Saas模式,第一次用感觉到很吃力,实际上就是【实现平台业务 + 数据(云计算服务) 分离】,我们的需求是这样:访问a.domain.com进入A网站,访问b.domain.com进入B网站,我们主要是用到hibernate多租户,以实现这个功能。
Hibernate在4.0的时候就已经支持多租户了,实现起来分几种方式
1.一个租户一个单独数据库(DATABASE)-注意,是物理意义上的独立,可以理解为不同的数据源;
2.多个租户公用一个数据源,但每个租户有不同的数据库(SCHEMA);
3.多个租户都在一个数据库里,数据也完全在一起,通过一个字段(列)来区分(DISCRIMINATOR);
如果对多租户概念不是很清楚的同学,可以先看一下这篇文章,IBM公司的解释,本人觉得很精辟,转载:https://www.ibm.com/developerworks/cn/java/j-lo-dataMultitenant/index.html
这个是公司同事写的源码,可以为刚开始学习Saas模式多租户的童鞋提供帮助:http://blog.csdn.net/sourcespro/article/details/79299085