ShardingSphere 使用指南
ShardingSphere 使用指南 一、介绍 Apache ShardingSphere 是一个开源的 分布式数据库中间件生态,支持 分库分表、读写分离、数据加密、影子库 等功能。它的定位是 数据库增强计算层,让你在不修改(或少量修改)应用代码的情况下,实现复杂的数据分片与治理。 核心组件: ShardingSphere-JDBC:客户端 SDK,直接在应用中引入。 ShardingSphere-Proxy:中间件代理层,应用通过 MySQL 协议访问,无需修改业务代码。 ShardingSphere-Sidecar:面向 K8s 的云原生数据库 Mesh。 二、适用场景 分库分表:数据量过大,单表行数超过 1千万~1亿,单库容量超限时。 读写分离:主库写、从库读,提升查询性能。 柔性事务:分布式场景下保证一致性(支持 Seata、XA)。 数据加密:对敏感字段(手机号、身份证号)自动加密存储,解密查询。 影子库:A/B 测试或灰度发布。 三、 配置方式 以 ShardingSphere-Proxy 为例(最常用于 PHP 项目)。 3.1 部署 Proxy wget https://downloads.apache.org/shardingsphere/5.4.2/apache-shardingsphere-5.4.2-shardingsphere-proxy-bin.tar.gz tar -zxvf apache-shardingsphere-5.4.2-shardingsphere-proxy-bin.tar.gz cd apache-shardingsphere-5.4.2-shardingsphere-proxy-bin 配置文件路径: conf/server.yaml # 全局配置(身份认证、元数据) conf/config-sharding.yaml # 分库分表配置 3.2 示例配置(分库分表 + 读写分离) server.yaml (全局配置) authentication: users: root: password: root123 # 设置登录 ShardingSphere-Proxy 的账号和密码 authorizedSchemas: ds_sharding # 指定该用户可访问的逻辑库(schema) props: sql-show: true # 开启 SQL 打印,方便调试时查看 Proxy 最终路由后的真实 SQL config-sharding....