如何构建Zdal,这篇文章主要介绍如何在传统的Java Web项目中引入Zdal,来达到分库或者分表的目的,本文是《zdal设计文档》的实战补充。
添加zdal-client依赖
在Zdal项目中有很多模块,这些模块分别有着不同的功能和角色,在zdal-doc中的《zdal设计文档》中是这么给每个模块定义的:zdal-client : 加载本地配置文件,初始化各种数据源,调整数据源的配置信息,路由规则等
zdal-datasource : 管理访问数据库连接的组件,控制app对数据库资源的使用,目前支持mysql,oracle,db2等数据库的数据访问
zdal-parser : 手工编写的高性能的方便扩展的SQL Parser,支持MySQL、Oracle,DB2等流行关系数据库的SQL Parser
zdal-rule : 在分库分表中,根据拆分字段进行选库选表的组件,基于groovy规则引擎
zdal-common : Zdal功能所用到一些公共组件类
我们在使用zdal中间件的时候其实只需要在POM中引用zdal-client即可,zdal-client已经依赖了内部其他组件,同时建议剔除掉对Spring的引用,主要是为了防止Spring版本的冲突:
com.alipay.zdal
zdal-client
0.0.1
org.springframework
spring
DataSource替换成ZdalDataSource
笔者在《分库分表技术概览》一文中总结过分库分表现在主要是两种解决方