文章插图
至此,我们就完成了多租户数据隔离的改造 。
四、总结一下,改造的地方:
- 业务表没有租户字段(companyId)的,统一加上company_id字段 。
- 利用Mybatis拦截器,拦载所有的select 、insert、update、delete语句进行改造SQL,自动添加company_id字段及字段值 。
- 利用Transmittable ThreadLocal,进行companyId值的传递 。
- 对于http远程调用的,通过拦截器,发送端统一添加companyId字段到header,接收端通过OncePerRequestFilter从header取得统一设到ThreadLocal 。
- 对消息队列(Kafka),发送端统一处理,添加companyId字段到message header,消费端通过RecordFilter从header取得统一设到ThreadLocal 。
推荐阅读
- Python爬虫+数据分析之影评分析
- 解锁更多技能,OpenAI 为聊天机器人 ChatGPT 引入插件策略
- 从零开始学习系列之时间序列数据库
- SpringBoot中使用PostgreSQL数据库
- SpringBoot对SpringMVC的自动配置,你知道多少?
- 李彦宏:中国基本不会再出一个OpenAI,创业公司重做ChatGPT没多大意义
- 自动挡都快要开到报废了,很多车主都没有用过这个按键!
- 罗兰|曝于文红老公出轨成性!曾睡4000多名中国姑娘,每月零用钱仅5万
- 姐姐|郭富城姐姐住垃圾房,给岳父岳母租豪宅,港台明星大多跟亲人不和
- 酸奶打开多久不能喝