TDDL用diamond来配置数据源参数,但是这个配置的参数着实复杂,这里记录一下。
TDDL里有两种数据源,对应到两种使用方法。
1、TAtomDataSource的配置
这是最基本的数据源,用来做 动态创建,添加,减少数据源等
配置:
Global
dataId组成规范: com.taobao.tddl.atom.global.${dbKey}
配置内容:
ip 数据实例的ip
port 数据实例的端口
dbname 数据库名称
dbType MYSQL,ORACLE
dbStatus RW,NA
App
dataId组成规范: com.taobao.tddl.atom.app.${appName}.${dbKey}
配置内容:
username 该应用使用的用户名
oracleConType oci,thin,如果db为mysql,则不用理会
minPoolSize 最小连接池
maxPoolSize 最大连接池
idleTimeout 连接的最大空闲时间
blockingTimeout 等待连接的最大时间
preparedStatementCacheSize Oracle专用
writeRestrictTimes 单位timeSliceInMillis写限制,默认空不限制
readRestrictTimes 单位timeSliceInMillis读限制,默认空不限制
threadCountRestrict 并发线程限制,默认空不限制
timeSliceInMillis 限制的时间单位
connectionProperties 连接参数
dataId组成规范:
com.taobao.tddl.atom.passwd.${dbName}.${dbType}.${userName}
配置内容:
属性key 说明
encPasswd 密码
encKey 密钥
应用层用TAtomDataSource的话,通过dbKey可以找到数据库服务器的地址,然后通过appName和dbKey可以找到当前应用对应的user账号和密码,这样就找齐了构造数据源所需要的全部信息。
appName和dbKey的关系是:一个dbKey对应一个数据源,一个数据源可能供多个上层应用(app)使用,但是各个app的权限不一。
2、 TGroupDataSource的配置
dataId组成规范:com.taobao.tddl.jdbc.group_V2.4.1_${dbGroupKey}
配置内容(示例):${dbKey}_0:r10w10p0,${dbKey}_bac:r10w0p0
TGroupDataSource用来实现读写分离等功能,如果要使用读写分离的功能,则要配置好TGroupDataSource。
分享到:
相关推荐
淘宝根据自己的业务特点开发了TDDL(Taobao Distributed Data Layer 外号:头都大了 ©_Ob)框架...当前公布的文档较少,只开源动态数据源,分表分库部分还未开源,还需要依赖diamond,不推荐使用。 标签:TDDL
框架基于集中式配置,采用Java语言开发,实现了对JDBC数据源的优化管理,具备主备切换、读写分离、动态数据库配置等强大功能。 技术构成: - 主要编程语言:Java - 辅助技术:JavaScript, CSS - 文件构成:共计2467...
在 TDDL 中,可以使用动态数据源或本地数据源来实现分库分表。 使用动态数据源 使用动态数据源可以实现动态调节 IP、密码、读写权重变换、增库、主备切换功能。配置动态数据源时,需要注意 appName 的配置,appName...
4. **动态数据源管理**:通过“tddl-dynamic-datasource”模块,TDDL支持数据源的动态管理和配置,可以在运行时增加或减少数据库实例,适应业务的变化。 5. **分布式事务**:虽然MySQL本身支持ACID事务,但在分布式...
2. 为提高访问的可用性,数据源需要备份。 3. 数据源可用性的检测和 failover。 4. 前台的高并发造成后台数据库连接数过多,降低了性能,怎么解决。 Cobar 中间件以 proxy 的形式位于前台应用和实际数据库之间,对...
cobar解决了数据水平拆分、数据源备份、故障检测及高并发下的数据库连接问题。它以proxy形式工作,接收SQL请求,根据数据分布规则转发到相应的后台分库,并合并结果,为应用提供单一数据库的体验。cobar的应用场景...
淘宝根据自己的业务特点开发了TDDL框架,主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制,它是一个基于集中式配置的 jdbc datasource实现,具有主备,读写分离,动态数据库配置等功能
它可能提供事务管理、数据源路由、读写分离、分库分表等功能,以帮助开发者更高效地处理数据库操作。 2. **版本5的更新**:"tddl5"表示这是TDDL的第五个主要版本,这通常意味着它经历了多次迭代和改进,以修复已知...
4. 集中式数据源管理,便于动态变更。 5. 兼容MySQL和Oracle数据库,具有良好的扩展性。 6. 无Server、client-jar形式,简化部署。 7. 动态调整读写次数和并发度,适应业务变化。 8. 日志分析和流控功能,便于监控和...
Cobar_rule是Cobar实现分库分表路由规则的配置和说明文档。 首先,Cobar_rule中的单维路由规则是指根据单个字段值决定SQL语句应该分发到哪个分库执行。在单维路由中,将数值[0-1023]划分为多个区段,每个区段对应一...
2. **ShardingProxy使用**:配置文件`config-sharding.yaml`用于定义分库分表规则,包括数据源、分片策略、事务类型等。例如,配置数据库连接信息、最大连接数、线程池大小等。 3. **服务治理**:ShardingProxy支持...
TMHA利用AppSwitchManager和动态数据源(TDDL)结合ZooKeeper,实现了主备库切换和异常切换。异常切换过程包括检测主库宕机、记录异常、切换确认和主备库切换等步骤。 10. MySQL高可用的部署方式和优点 TMHA的部署...
* 淘宝 TDDL 是一个基于集中式配置的 JDBC DataSource 实现,具有分库分表、Master/Slave、动态数据源配置等功能。 5. 解决方案 2 服务端中间件封装实现 服务端中间件封装实现是指在服务端提供一个中间件,以便将...
2. **数据量**:MySQL单库的理想数据量应在5000万条以内,超过此阈值后,性能会逐渐下降。单表数据量的最佳范围是500万至1000万条,超出后同样会影响性能。 3. **硬件限制**:单个服务器的磁盘空间有限,高并发访问...
- 分库分表组件:如ShardingSphere(京东数科)、Mycat(阿里巴巴)、Tddl(阿里)、Atlas(奇虎360)等。 6. **保证数据库与缓存的最终一致性**: - 数据库操作成功后,通过监听binlog并异步处理更新缓存、索引...
"第十九期 TDDL5.0核心技术内幕分享 陈刚.pptx"可能是一个关于TDDL(Table Data Layer,表数据层)的专题分享,这是一个阿里巴巴开源的分布式数据库中间件。TDDL通常用于解决单表访问压力大、数据库扩展性问题,通过...
为此,业界出现了很多分库分表中间件,如ShardingSphere(京东数科)、Mycat(阿里巴巴)、Tddl Atlas(奇虎360)等,它们旨在简化这些操作,提供更高效的分布式数据库解决方案。 总的来说,MySQL主从架构和分库...