spring boot如何做多租户?
1.如果每个租户一个数据库,如果有任何表结构变动,维护起来很麻烦。2.如果所有租户一个数据库,如果有任何表结构变动,维护起来很方便。3.如果任何crud都手动筛选租户id,很麻烦。我的想法是拦截sql,然后解析sql,自动加上租户字段的筛选。不知道有什么好的开源项目可以直接使用。
回复
1个回答

test
2024-09-07
是的,可以拦截 SQL 并处理。MyBais-Plus 提供了多租户的组件,只需要实现拦截器即可达到你的预期。
但实际上,多租户影响的点不止是关系数据库而已。
比如你的项目是微服务,或者需要使用第三方的服务,那么是不是还需要把租户标识传递下去?如果你的存储不止是关系数据库,使用了 Redis、MongoDB 等,是不是也要在中间件的交互上也携带租户标识?
对于三方服务,尚可以在请求交互时使用 OkHttp 的拦截器来在请求之前在头中置入租户标识。可是 Redis、MongoDB 或是 ES 等,目前我是没发现好的办法。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容