Atom层(可独立使用)
–单个数据库的抽象
–动态化的jboss数据源,ip port 用户名密码都可以动态修改。
–TryLock模型
–动态阻止某个sql执行
–执行次数统计和限制
GROUP 层(可独立使用)
–读写分离
–权重
–写的HA切换
–读的HA切换
–允许动态添加新的slave节点
Matrix 层
–核心是规则引擎
•可以单独抽取出来,放在其他实现里,比如自己封装的ibatis DAO里面。
–通过规则引擎实现了动态扩容
–主要路径
•Sql解析->规则引擎计算->数据执行->合并结果
简单例子,使用本地配置文件:
tddl-sample/src/main/resources/rule_local/spring-context.xml
<? xml version = "1.0" encoding = "gb2312" ?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> < beans > < bean id = "metrixBean" class = "com.taobao.tddl.client.jdbc.TDataSource" init-method = "init" > < property name = "appRuleFile" value = "classpath:rule_local/tddl-rule.xml" /> < property name = "useLocalConfig" value = "false" /> < property name = "rwDataSourcePool" > < map > < entry key = "group_sample_0" value = "atom0:r10w10" ></ entry > < entry key = "group_sample_1" value = "atom1:r10w10" ></ entry > </ map > </ property > </ bean > < bean id = "tddlDS" class = "org.
|