|
|
现状:新项目上线很难预估数据量(容易多估,导致数据库资源浪费)。新的mysql集群使用上有一定风险,老的不支持分布式。
目的:实现一种方便控制的,可动态扩展的分布机制。
思路:通过一个配置文件来控制数据库库表的资源,通过对这个文件的监听结合spring动态加载的机制实现动态调整。该配置文件的格式可以为:
db1:2#table1:0,table2:2,table3:1
db2:3#table1:2,table2:3
一行表示一个数据库及对应的表,":"后面为权重值。
当数据量增加时,可以增加表或库。
当然,这个机制主要用于数据插入时。至于数据怎么取,可以在数据的id里融入库、表的信息。
目前以这个思路基本跑通了整个流程,证明基本是可行的。
完善:
添加相应的监控机制,最好能通过监控来自动修改上面那个配置文件来实现自动调整资源。 |
|