ShardingSphere-Proxy5.1.0搭建及自定义算法编写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ShardingSphere-Proxy5.1.0搭建及自定义算法编写相关的知识,希望对你有一定的参考价值。
参考技术A https://shardingsphere.apache.org/document/current/cn/downloads/https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
官方的文档
https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-proxy/startup/bin/
新建Maven工程
pom.xml添加以下依赖
实现 ShardingAlgorithm 接口定义的算法实现类。
新建类ShardingDatabaseModuloAlgorithm实现StandardShardingAlgorithm接口
在项目 resources 目录下创建 META-INF/services 目录。
在 META-INF/services 目录下新建文件 org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
将实现类的绝对路径写入至文件 org.apache.shardingsphere.sharding.spi.ShardingAlgorithm
打包成jar包
上传至/opt/module/shardingsphere-5.1.0-bin/ext-lib
官方说明
https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-proxy/startup/bin/
https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-jdbc/yaml-config/rules/sharding/
ShardingSphere-Proxy 支持多逻辑数据源,每个以 config- 前缀命名的 YAML 配置文件,即为一个逻辑数据源。
在 /opt/module/shardingsphere-5.1.0-bin/conf 中新建一个文件config-sharding-orders.yaml
修改 /opt/module/shardingsphere-5.1.0-bin/conf 下的 server.yaml
运行 /opt/module/shardingsphere-5.1.0-bin/bin 下的 start.sh
使用MYSQL客户端连接试试
成功
https://shardingsphere.apache.org/document/current/cn/user-manual/shardingsphere-proxy/distsql/usage/sharding-rule/
例如:
预览实际 SQL
语法: PREVIEW SQL
SQL语句: PREVIEW SELECT * FROM t_order
设置属性值
语法: SET VARIABLE proxy_property_name = xx
SQL语句: SET VARIABLE sql_show = true 设置sql写入到日志
查询所有属性
SHOW ALL VARIABLES
查询单个属性
SHOW VARIABLE sql_show
查看当前模式
SHOW INSTANCE MODE
例如:StandardShardingAlgorithm<Long>
当SQL语句为
会报异常 java.lang.integer cannot be cast to java.lang.long
只有数值超过Integer范围时才不会报错
写这篇文章前,找了很多的资料都没有说自定义接口的每个方法的作用,完全是靠试出来的,官方文档写的对新手太不友好了,很多文档都得靠一个个目录去翻,东西确实不多,但是很多示例不写就很浪费时间自己去琢磨
分片策略可以看下面文章了解
https://zhuanlan.zhihu.com/p/272629526
以上是关于ShardingSphere-Proxy5.1.0搭建及自定义算法编写的主要内容,如果未能解决你的问题,请参考以下文章
ShardingSphere实践——ShardingSphere-Proxy集群式安装
MySQL主从读写分离搭建-ShardingSphere-Proxy
ShardingSphere-Proxy分库分表以及多租户安装使用