目标
搞定ShardingSphere-5.0.0-beta的 jdbc版本,实现最简单的分库分表、读写分离(可以用假的从库)、加密功能演示。记录自己的过程,提交文档。
实现步骤
准备环境
- git clone代码
- mvn clean install一把(到项目根目录下执行)
mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true
- 用maven引入example,也mvn clean install一把
- 本地数据库执行SQL脚本,脚本路径:\shardingsphere\examples\src\resources\manual_schema.sql
- 数据库设置,账号:root,密码:无(跟example中的配置一致),端口:3306
调试demo
分库分表
- 选择用例
org.apache.shardingsphere.example.sharding.raw.jdbc.ShardingRawYamlRangeConfigurationExample
shardingType选择:SHARDING_DATABASES
- 代码中有一处删除记录,打上断点,以便于观察表数据
- debug执行main方法
- 观察表数据
- 同当前的分片规则对照
- 释放断点,流程结束
读写分离
- 选择用例
org.apache.shardingsphere.example.sharding.raw.jdbc.ShardingRawYamlRangeConfigurationExample
shardingType选择:READWRITE_SPLITTING
- 打开配置中的SQL打印
props:
sql-show: true
- 执行main方法,观察控制台日志
加密
- 选择用例
org.apache.shardingsphere.example.encrypt.table.raw.jdbc.EncryptRawYamlConfigurationExample
-
代码中有一处删除记录,打上断点,以便于观察表数据
-
debug执行main方法
-
观察表数据
-
释放断点,流程结束
总结
第一次接触ShardingSphere,也是第一次接触开源项目,过程里磕磕绊绊,踩坑踩得很心累,但所幸,最终完成了第一次调试,其中的实现细节,还有待进一步研究。