摘要:
主要过程包括: 分库分表的路由定位 sql语句的 ast 抽象语法树的解析 通过自定义 SQLASTVisitor (MySQLSelectASTVisitor) 遍历sql ast,解析出逻辑表名 查找逻辑表名对应的分库分表规则 根据逻辑表的分库分表规则,遍历sql ast定位分片键的值 根据中间 阅读全文
posted @ 2021-07-16 22:31
mushishi
阅读(321)
评论(0)
推荐(0)
摘要:
ShardDataSource 间接实现了 jdbc api 的 DataSource 接口 它持有多个GroupDataSource,存于 dataSourcePool 的 map 中 ,dataSourcePool 由数据源仓储 DataSourceRepository 初始化 ConfigSe 阅读全文
posted @ 2021-07-16 22:19
mushishi
阅读(353)
评论(0)
推荐(0)
摘要:
最上层 ShardDataSource: 用于分库分表; 包含一个或多个 GroupDataSrouce GroupDataSource: 主要用于读写分离, 分库中的一个shard 最下层的 SingleDataSource: 主要用于和 mysql 单个实例的连接, 这边是真正和连接池 dbcp 阅读全文
posted @ 2021-07-16 22:18
mushishi
阅读(217)
评论(0)
推荐(0)
摘要:
zebra-client(核心) : 除了监控外,几乎zebra所有核心功能,如读写分离、分库分表、就近路由、流量控制; zebra-cat-client(可选): 提供端到端的监控,将监控信息上报到CAT监控平台 zebra-dao(可选):对mybatis的轻量级封装,兼容mybatis原有的功 阅读全文
posted @ 2021-07-16 22:12
mushishi
阅读(594)
评论(0)
推荐(0)

浙公网安备 33010602011771号