zoukankan      html  css  js  c++  java
  • TDDL DataSource

    TDDL DataSource 分为 AtomDataSource GroupDatasource

    他们两者没有依赖关系, 都实现了 JDBC 规范, 可以作为独立的 datasource 单独使用

    AtomDataSource

    AtomDataSource 负责 diamond 动态配置, 它可以通过 diamond 动态改变 ds 的 ip port 账号密码等

    AtomDataSource diamond 配置分为三部分

    1. global config

    global config 主要配置 database 信息, 主要包括如下配置

    dataId:com.taobao.tddl.atom.global.qatest_normal_0
    
    group:DEFAULT_GROUP
    
    content:
    
    ip=127.0.0.1
    
    port=3306
    
    dbName=qatest_normal_0
    
    dbType=mysql
    
    dbStatus=RW

    2. app config

    app config 主要包括应用配置, 例如线程池等, 如下

    dataId:com.taobao.tddl.atom.app.tddl_sample.qatest_normal_0
    
    group:DEFAULT_GROUP
    
    content:
    
    userName=tddl
    
    minPoolSize=1
    
    maxPoolSize=2
    
    idleTimeout=10
    
    blockingTimeout=5
    
    preparedStatementCacheSize=15
    
    connectionProperties=characterEncoding=gbk

    3. user config

    dataId:com.taobao.tddl.atom.passwd.qatest_normal_0.mysql.tddl
    
    group:DEFAULT_GROUP
    
    content:
    
    encPasswd=xxxxxxx(密文,请用tddl-atom-datasource工程下的JbossPasswordDecode加密下明文密码)

    Diamond 动态配置代码结构

    GroupDatasource

    GroupDatasource 负责组合多个 datasource, 主要负责双机热备, 读写分离, 其中使用了 DatasourceWrapper 包装 ds, DataSourceWrapper 有一个 Weight 属性, 可以设置单个 ds 的可读可写属性, 以及读写优先级. 最后将多个 ds 组合成读写分离 ds, 实例代码

            List<DataSourceWrapper> dataSourceWrappers = new ArrayList<DataSourceWrapper>();
            dataSourceWrappers.add(new DataSourceWrapper("127.0.0.1:3306:db_1", "rpwp", getMySQLDataSource(1), DBType.MYSQL));
            dataSourceWrappers.add(new DataSourceWrapper("127.0.0.1:3306:db_2", "rpw0p0", getMySQLDataSource(2), DBType.MYSQL));
    
            TGroupDataSource ds = new TGroupDataSource();
            ds.init(dataSourceWrappers);
  • 相关阅读:
    简单探讨spring整合mybatis时sqlSession不需要释放关闭的问题
    男人常做俯卧撑,谁还敢说不行!
    五大穴位
    实战c++中的vector系列--vector的一些异常
    [Canvas画图] 藏图阁(16) 人体穴位
    算法题:剔除字符串(非常有意思)
    怎样在win8系统下建立wifi热点
    【code】flex_进度条样式
    使用bbed改动数据
    Go语言核心之美 3.2-slice切片
  • 原文地址:https://www.cnblogs.com/zemliu/p/4060920.html
Copyright © 2011-2022 走看看