一、介绍
Sharding-Proxy是ShardingSphere的第二个产品,定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。目前先提供MySQL版本,它可以使用任何兼容MySQL协议的访问客户端(如:MVSQL Command Client,MysQL Workbench等操作数据,对DBA更加友好。
- 向应用程序完全透明,可直接当做MySQL使用
- 适用于任何兼容MySQL协议的客户端
Sharding-Proxy的优势在于对异构语言的支持,以及为DBA提供可操作入口。
二、使用过程
Sharding-Proxy使用过程:
- 下载Sharding-Proxy的最新发行版;
- 解压缩后修改conf/server.yaml和以config-前缀开头的文件,进行分片规则、读写分离规则配置
- 编辑%SHARDING_PROXY_HOME%\conf config-xxx.yaml
- 编辑%SHARDING_PROXY_HOME%\conf server.yaml
- 引入依赖jar如果后端连接MySQL数据库,需要下载MySQL驱动,解压缩后将mysql-connector-iava-5.1.48.iar拷贝到
${sharding-proxylib目录。
如果后端连接PostgreSQL数据库,不需要引入额外依赖。 - Linux操作系统请运行bin/start.sh,Windows操作系统请运行bin/start.bat启动Sharding-Proxy。
使用默认配置启动:KaTeX parse error: Undefined control sequence: \bin at position 17: …sharding-proxyy\̲b̲i̲n̲\start.sh 配置端口启…{sharding-proxy)\bin\start.sh ${port} - 使用客户端工具连接。如:mysql -h 127.0.0.1-P 3307-u root -p root
若想使用Sharding-Proxy的数据库治理功能,则需要使用注册中心实现实例熔断和从库禁用功能。Sharding-Proxy默认提供了Zookeeper的注册中心解决方案。只需按照配置规则进行注册中心的配置,即可使用。
注意事项
- Sharding-Proxy默认不支持hint,如需支持,请在conf/server.yaml中,将props的属性proxy.hint.enabled设置为true。在Sharding-Proxy中,HintShardingAlgorithm的泛型只能是String类型。
- Sharding-Proxy默认使用3307端口,可以通过启动脚本追加参数作为启动端口号。如:bin/start.sh 3308
- Sharding-Proxy使用conf/server.yaml配置注册中心、认证信息以及公用属性。
- Sharding-Proxy支持多逻辑数据源,每个以config-前缀命名的yaml配置文件,即为一个逻辑数据源。