apache/shardingsphere-proxyApache ShardingSphere是开源的分布式数据库解决方案生态系统,包含JDBC、Proxy及Sidecar(规划中)三款独立产品。它们均提供数据分片、分布式事务和分布式治理功能,适用于Java同构、异构语言及云原生等多种场景。
Apache ShardingSphere旨在充分利用分布式系统中现有数据库的计算和存储能力,而非构建全新数据库。关系型数据库作为企业基石仍占据巨大市场份额,因此我们专注于其增量扩展而非彻底颠覆。
自5.x版本起,Apache ShardingSphere聚焦插件化架构,功能可灵活嵌入项目。当前支持的数据分片、读写分离、数据加密、影子库等特性,以及MySQL、PostgreSQL、SQLServer、Oracle等SQL方言/数据库协议,均通过插件实现。开发者可像搭建乐高积木般自定义ShardingSphere,目前已拥有丰富且持续增长的SPI扩展。
Apache ShardingSphere
ShardingSphere-Proxy定位为透明数据库代理,提供封装数据库二进制协议的数据库服务,支持异构语言。目前提供MySQL和PostgreSQL版本(兼容基于PostgreSQL的数据库,如openGauss)。可使用任何兼容MySQL或PostgreSQL协议的终端(如MySQL命令行客户端、MySQL Workbench等)操作数据,对DBA更友好。
!ShardingSphere-Proxy架构
bashdocker pull apache/shardingsphere-proxy
bashgit clone [***] mvn clean install cd shardingsphere-distribution/shardingsphere-proxy-distribution mvn clean package -Prelease,docker
在/${your_work_dir}/conf/目录下创建server.yaml和config-xxx.yaml,用于配置分片规则和服务器规则。
请参考配置手册。
配置示例可参考GitHub示例。
bashdocker run -d -v /${your_work_dir}/conf:/opt/shardingsphere-proxy/conf -e PORT=3308 -p***:3308 apache/shardingsphere-proxy:latest
注意
3308(容器端口)和***(主机端口)可自定义。/opt/shardingsphere-proxy/conf。bashdocker run -d -v /${your_work_dir}/conf:/opt/shardingsphere-proxy/conf -e JVM_OPTS="-Djava.awt.headless=true" -e PORT=3308 -p***:3308 apache/shardingsphere-proxy:latest
注意
JVM_OPTS定义JVM相关参数。bashdocker run -d -v /${your_work_dir}/conf:/opt/shardingsphere-proxy/conf -v /${your_work_dir}/ext-lib:/opt/shardingsphere-proxy/ext-lib -p***:3308 apache/shardingsphere-proxy:latest
注意
/opt/shardingsphere-proxy/ext-lib。连接方式与连接PostgreSQL相同:
bashpsql -U ${your_user_name} -h ${your_host} -p ***
问题1:处理请求时出现I/O异常(java.io.IOException):{}->unix://localhost:80: Connection refused。
解答:构建镜像前,请确保Docker守护进程已运行。
问题2:无法连接数据库的错误报告。
解答:请确保/${your_work_dir}/conf/config-xxx.yaml配置中指定的PostgreSQL IP可被Docker容器访问。
问题3:如何启动后端数据库为MySQL或openGauss的ShardingSphere-Proxy?
解答:将mysql-connector.jar或opengauss-jdbc.jar所在目录挂载至/opt/shardingsphere-proxy/ext-lib。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务