zebra客户端结构

image

  1. 最上层 ShardDataSource: 用于分库分表; 包含一个或多个 GroupDataSrouce
  2. GroupDataSource: 主要用于读写分离, 分库中的一个shard
  3. 最下层的 SingleDataSource: 主要用于和 mysql 单个实例的连接, 这边是真正和连接池 dbcp/druid/hikaricp 打交道的

ShardDataSource、GroupDataSource都实现了JDBC协议的javax.sql.DataSource接口,因此你可以把二者都当做一个普通的数据库连接池来使用。所有读写分离、分库分表的底层实现逻辑,都对用户进行了屏蔽。

完整目录:数据库中间件zebra源码分析

posted @ 2021-07-16 22:18  mushishi  阅读(156)  评论(0编辑  收藏  举报