分库分表
涉及到的技术栈
| 技术名称 | 作用 |
|---|---|
| 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 | 高可用保证,避免中间件单点故障 |