ShardingSphere踩坑之旅01-jdbc

1,023 阅读1分钟

目标

搞定ShardingSphere-5.0.0-beta的 jdbc版本,实现最简单的分库分表、读写分离(可以用假的从库)、加密功能演示。记录自己的过程,提交文档。

实现步骤

准备环境

  1. git clone代码
  2. mvn clean install一把(到项目根目录下执行)
mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true
  1. 用maven引入example,也mvn clean install一把
  2. 本地数据库执行SQL脚本,脚本路径:\shardingsphere\examples\src\resources\manual_schema.sql
  3. 数据库设置,账号:root,密码:无(跟example中的配置一致),端口:3306

调试demo

分库分表

  1. 选择用例
org.apache.shardingsphere.example.sharding.raw.jdbc.ShardingRawYamlRangeConfigurationExample

shardingType选择:SHARDING_DATABASES

  1. 代码中有一处删除记录,打上断点,以便于观察表数据

image.png

  1. debug执行main方法
  2. 观察表数据

image.png

image.png

  1. 同当前的分片规则对照
  2. 释放断点,流程结束

读写分离

  1. 选择用例
org.apache.shardingsphere.example.sharding.raw.jdbc.ShardingRawYamlRangeConfigurationExample

shardingType选择:READWRITE_SPLITTING

  1. 打开配置中的SQL打印
props:
  sql-show: true
  1. 执行main方法,观察控制台日志

加密

  1. 选择用例
org.apache.shardingsphere.example.encrypt.table.raw.jdbc.EncryptRawYamlConfigurationExample
  1. 代码中有一处删除记录,打上断点,以便于观察表数据 image.png

  2. debug执行main方法

  3. 观察表数据 image.png

  4. 释放断点,流程结束

总结

第一次接触ShardingSphere,也是第一次接触开源项目,过程里磕磕绊绊,踩坑踩得很心累,但所幸,最终完成了第一次调试,其中的实现细节,还有待进一步研究。