1
kuxuan 2023-06-06 08:41:29 +08:00
也在关注,希望有大佬回复
|
2
SilenceLL 2023-06-06 08:50:44 +08:00
1. 重写 AbstractRoutingDataSource,记得缓存数据库连接,在请求拦截器,消息消费入口,定时任务入口设置数据库上下文(其他看项目还有什么请求来源)。
2. https://github.com/baomidou/dynamic-datasource-spring-boot-starter |
3
cylx3124 2023-06-06 13:30:52 +08:00 1
之前同事有遇到类似的多数据源切换问题,当时我的想法不是在单服务连接多数据源,在服务代码中做数据源切换,而是部署多个服务,每个服务连接不同的数据源,然后通过一层 gateway 代理,通过代理解析用户身份,然后转发请求到连接对应数据源的服务上。
不知道这个的方案适不适用你们的场景。 |
4
chlinlearn OP @SilenceLL 感谢回复
|
5
chlinlearn OP @cylx3124 感谢回复
|
6
SilenceLL 2023-06-06 15:20:14 +08:00
@cylx3124 只代入了自己的业务,这位朋友提的很对,具体还是要看你们的业务,我们这种属于适合那种极小客户。可以在不同层次做租户的路由,域名,服务器,数据库实例,catalog 。 可以参考下微软的多租户模型看看 https://learn.microsoft.com/zh-cn/azure/architecture/guide/multitenant/considerations/tenancy-models
|