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分库分表配置

ShardingSphere-Proxy分库分表以及多租户安装使用

ShardingSphere-Proxy分库分表以及多租户安装使用

ShardingSphere-Proxy分库分表以及多租户安装使用