zoukankan      html  css  js  c++  java
  • tddl源码随笔

    tddl是阿里的分库分表中间件,系统架构上文描述的很清楚,本文主要整理下个人看tddl源码时认为有意义的东西

    如上文所述,tddl分为三大主要模块,matrix、group、atom

    1.atom模块

      atom模块是最底层的模块,主要实现tddl的动态数据源配置以及提供基于java.sql.DataSource的实现,但这两部分的事都不是它做的,atom仅是将动态配置以及数据源实现作一个聚合,Diamond提供基本的动态配置,基于注册监听机制实现数据源配置的动态刷新,atom内部定的接口如:DbConfManager,注册全局配置监听public void registerGlobaDbConfListener(ConfigDataListener Listener)和注册应用配置监听public void registerAppDbConfListener(ConfigDataListener Listener) 来监控dataId的变化

         数据源的提供,atom采用 原子的数据源分离的JBOSS数据源(直接将jboss的源码撸出来贴进去了),具体见类:WrapperDataSource

         atom定义了自己的基于java.sql.DataSource的数据源实现(AbstractTAtomDataSource),在java数据源接口的基础之上定义了自己的个方法,因为atom要实现动态数据源,所以必须要扩展java.sql.DataSource的接口才可以,主要定义了如下几个方法:

         //返回原子的jobss数据源实现

         protected abstract DataSource getDataSource() throws SQLException;
         //初始化方法,主要是解析diamond中的全局配置和app配置,拿到数据源配置信息等,具体的配置参见上文:tddl的原理分析
         public abstract void init() throws Exception;
         //刷新数据源
          public abstract void flushDataSource();
        //销毁数据源
          public abstract void destroyDataSource() throws Exception;

        

  • 相关阅读:
    [QT]
    [QT]
    企业内搜索引擎项目(一):架构
    Muduo网络库实战(二):实现服务器与客户端的连接
    Muduo网络库实战(一):安装和配置
    Xapian实战(一):环境搭建 + 简介
    Centos 6.5升级gcc : 源码安装 + rpm安装
    Hadoop学习笔记(二)——插件安装和使用(Hadoop Eclipse)
    Hadoop学习笔记(三) ——HDFS
    Hadoop学习笔记(一)——安装与配置
  • 原文地址:https://www.cnblogs.com/adealjason/p/6371060.html
Copyright © 2011-2022 走看看