开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

李艳鹏 / dbsplitJava

指数
0
Watch 42 Star 81 Fork 39
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
Dbsplit扩展了Spring的JdbcTemplate, 在JdbcTemplate上增加了分库分表,读写分离和失效转移等功能,并与Spring JDBC保持相同的风格,简单实用,避免外部依赖,不需要类似cobar的代理服务器,堪称可伸缩的Spring JdbcTemplate。 展开 收起

https://github.com/cloudatee/dbsplit

todo.txt 1.37 KB
一键复制 编辑 Web IDE 原始数据 按行查看 历史
需要继续优化的问题
1. 三种分库分表的hash策略的支持, 水平(索引不重复),垂直(索引重复),混合(库索引不重复,表索引重复)。
2. 使用annotation来声明SimpleJdbcTemplate or SimpleSplitJdbcTemplate。
3. 对SimpleJdbcTemplate实现读写分离。
4. 对spring XML封装一个简单的FactoryBean, 使用builder模式来声明template让开发者使用起来更简单。
5. dbsplit基类的实现需要针对insert, delete, update, select单独处理sql,当前实现还不准确,使用druid库,druid库有性能问题,考虑使用cobar或者自己实现匹配功能,可以根据关键字 into, from, update, select from等等,一次匹配多个字符,例如:匹配from可以char(i) == 'f' and char(i+1) == 'r' and char(i+2) == 'o' and char(i+3) == 'm'
6. build-db-split脚本增加调试bug时候输入id,根据各种hash策略取出实例索引,库索引和表示锁,便于查找bug
7. 需要对build-db-split脚本增加建立从库,并把从库指向主库的脚本, 可参考这里面的脚本建立工具集合:https://github.com/lebronhkh/mysqlyunwei
8. 提供失效转以的方法。
9. 提供对事物配置的支持,考虑多数据源,可以开发一个RoutingDataSource,http://itindex.net/detail/49026-spring-%E6%95%B0%E6%8D%AE-%E6%8E%A7%E5%88%B6,这个公司内部有实现,可以参考和移植。

评论 ( 0 )

你可以在登录后,发表评论

搜索帮助