动态数据源
https://dynamic-datasource.com/
提出一个问题:分布式系统怎么解决动态添加数据源问题呢?
答:暂时解决办法:可以使用数据库保存服务器信息,添加集群机器数量字段,还有一个机器MAC地址字段,每次启动时新增一份数据到redis中,新增一份数据源时,获取当前运行的服务器mac并新增数据源数据到内存,再减少对应的redis机器信息,当redis不存在数据时证明所有内存中都包含了数据源信息,间接实现了分布式系统解决动态数据源问题
添加数据源到内存中的关键代码:
DataSource dataSource = dataSourceCreator.createDataSource(dataSourceProperty);
dynamicRoutingDataSource.addDataSource(dataSourceProperty.getPollName(), dataSource);