分库分表
涉及到的技术栈
技术名称 | 作用 |
---|---|
ShardingSphere | 分库分表中间件,提供数据分片、分布式事务、读写分离等功能 |
MyCat | 数据库中间件,提供分库分表路由、SQL解析转发功能 |
MySQL/PostgreSQL | 底层数据库,实际存储分片后的数据 |
UUID | 全局唯一标识生成器,用于生成分布式环境下的唯一ID |
Snowflake | Twitter开源的分布式ID生成算法,用于生成递增且唯一的ID |
Nacos/Apollo | 配置中心,管理分片规则和路由配置信息 |
Java SDK | 应用层接入分库分表中间件的客户端 |
JDBC | 数据库连接协议,用于中间件与数据库的通信 |
Redis | 分布式锁和序列号生成器的底层支持 |
ZooKeeper | 分布式协调,用于集群管理和配置同步 |
Spring Boot | 应用开发框架,集成分库分表中间件 |
ShardingSphere-Proxy | 透明的数据库代理端,支持任何语言接入 |
HAProxy/LVS | 数据库负载均衡,用于分片集群的访问 |
Keepalived | 高可用保证,避免中间件单点故障 |