在使用tddl 之前首选安装 配置diamond
基本信息说明
appName=pay
groupKey=groupKey
dbKey=andor_qatest 备注 dbkey 为数据库名称
dbType=mysql
dbUserName=tddl
一 .动态数据源配置
TGroupDataSource 的配置
1、配置读写分离权重:
com.taobao.tddl.jdbc.group_V2.4.1_ “ groupKey ”
例子:
com.taobao.tddl.jdbc.group_V2.4.1_groupKey
配置内容如下
andor_qatest:r10w10
TAtomDataSource 的配置(由 3 部分组成, global 、 app 、 user )
1、基本数据源信息 (global) :
com.taobao.tddl.atom.global. “ dbKey ”
例子:
com.taobao.tddl.atom.global.andor_qatest
配置内容如下
ip=127.0.0.1
port=3306
dbName=andor_qatest
dbType=mysql
dbStatus=RW
2、数据库连接信息( app ,如果不配置时间单位,缺省为分钟):
com.taobao.tddl.atom.app. “ appName ” . “ dbKey ”
例子:
com.taobao.tddl.atom.app.pay.andor_qatest
配置内容如下
userName=tddl
minPoolSize=1
maxPoolSize=2
idleTimeout=10
blockingTimeout=1000
preparedStatementCacheSize=15
connectionProperties=characterEncoding=utf-8
3、数据库密码信息 (user) :
此处的dbKey 为dbName
com.taobao.tddl.atom.passwd. “ dbKey ” . “ dbType ” . “ dbUserName ”
例子:
com.taobao.tddl.atom.passwd.andor_qatest.mysql.tddl
配置内容如下
encPasswd=tddl
4.配置server_topology.xml
样例
<group name="groupKey" type="MYSQL_JDBC">
</group>
5.配置mysql_schema.xml
样例
<table name="tddl">
<columns>
<column name="id" type="long"/>
<column name="create_time" type="timestamp"/>
<column name="update_time" type="timestamp"/>
<column name="error_info" type="string"/>
<column name="notify_num" type="int"/>
<column name="status" type="int"/>
<column name="next_time" type="timestamp"/>
<column name="notify_type" type="int"/>
<column name="notify_params" type="string"/>
<column name="remark" type="string"/>
</columns>
<primaryKey>id</primaryKey>
</table>
6.配置rule.xml
样例
<beans>
<bean id="vtabroot" class="com.taobao.tddl.rule.VirtualTableRoot"
init-method="init">
<property name="dbType" value="MYSQL"/>
<property name="lazyInit" value="true"/>
<property name="tableRules">
<map>
<!-- 一个group 多个atom -->
<entry key="tddl" value-ref="tddl"/>
</map>
</property>
</bean>
<!-- ===========================================mysql group============================================= -->
<bean id="tddl" class="com.taobao.tddl.rule.TableRule">
<property name="allowFullTableScan" value="true"/>
<!-- 此处为 server_topology.xml 中的group name-->
<property name="dbNamePattern" value="groupKey"/>
<property name="tbRules" value="Math.abs(Long.valueOf(#id,1,4#)) % 4"/>
<property name="tbNamePattern" value="tddl_{00}"/>
</bean>
7.配置TDataSource 如下
样例
<bean id="dataSource" class="com.taobao.tddl.matrix.jdbc.TDataSource" init-method="init">
<property name="appName" value="pay"/>
<property name="ruleFile" value="matrix/mysql_rule.xml"/>
<property name="topologyFile" value="matrix/server_topology.xml"/>
<property name="schemaFile" value="matrix/mysql_schema.xml"/>
</bean>