您当前的位置:首页 > 互联网教程

13. ShardingSphere-Proxy 数据库代理

发布时间:2025-05-21 15:04:04    发布人:远客网络

13. ShardingSphere-Proxy 数据库代理

一、13. ShardingSphere-Proxy 数据库代理

ShardingSphere-Proxy作为ShardingSphere分布式数据库中间件的组成部分,提供了数据库代理功能。它可以在不修改应用程序代码的前提下,实现分库分表、读写分离、逻辑表达式分片等功能。ShardingSphere-Proxy独立运行于应用程序和数据库之间,作为数据库的代理,自动将请求路由至相应的数据库节点。

官网地址:

官网下载(5.4.0版本): shardingsphere.apache.org...

官网下载较慢,推荐通过网盘下载:「apache-shardingsphere-5.4.0-shardingsphere-proxy-bin.tar.gz」来自UC网盘分享 drive.uc.cn/s/cc1882af6...

下载mysql-connector-java-8.0.11.jar,并将其放入ext-lib或lib目录下。

mysql-connector-java-8.0.11.jar包下载地址:来自UC网盘分享 drive.uc.cn/s/f9b1c5d7c...

conf目录下的server.yaml配置文件,主要配置代理数据库的用户名、密码、权限。

conf目录下的config-sharding.yaml配置文件,主要配置具体的分库分表规则:

注意上面是url,而不是jdbcUrl,官方如此说明:

否则启动代理数据库会出现如下异常:

6.配置config-readwrite-splitting.yaml

conf目录下的config-readwrite-splitting.yaml配置文件,主要配置数据库的读写分离。

往write_ds数据库写数据的时候会自动同步到read_ds_0、read_ds_1两个库中。读取数据的时候会随机从read_ds_0、read_ds_1选择一个数据源进行读取。

创建sharding_0和sharding_1两个数据库。两个数据库完全一样,包含如下数据表:

启动日志位置:logs/skywalking-oap-server.log

代理数据库对于开发人员来说与普通数据库的操作无异,既可通过命令行,也可通过可视化工具来进行连接和操作。

在代理数据库company表上添加企业数据记录。

偶数id的企业在sharding_0数据库,奇数id企业在sharding_1数据库。

在代理数据库product表上添加商品数据记录。

company_id为偶数的商品在sharding_0数据库,company_id为奇数的商品sharding_1数据库。保证了一个企业的商品全部在一个库里面。

在代理数据库permission表上添加权限数据记录。

被代理的两个数据库的数据都一样。

ShardingSphere-Proxy在数据库和应用程序之间起到了桥梁的作用,对于应用程序来说,它不需要感知ShardingSphere-Proxy的存在,依然可以使用原来的方式操作数据库。也就是说,ShardingSphere-Proxy对于应用程序来说是透明的,不需要额外的代码实现或者调整。

Spring Cloud微服务系列完整的代码在仓库的sourcecode/spring-cloud-demo目录下。

gitee(推荐): gitee.com/cunzaizhe/xia...

github: github.com/tigerleeli/x...

二、proxy是什么意思proxy的解释

1."做昌proxy"这一表述显然是输入错误,正确的英文应该是"使用代理(proxy)"。代理是指一种网络服务,它允许客户端通过这个服务向其他网络服务发出请求。代理可以在客户端和服务器之间充当中介,以不同的方式处理或转发请求。

2."代理类",这个表述可能是对某种编程概念的描述,但这里的解释不够清晰。在面向对象编程中,代理类可能是一个设计模式,用于封装对其他对象的访问。然而,"用培喊来进行事物不想或不能进行的其他操作"这句话语义混乱,可能是输入错误或者翻译失误。正确的解释应该是:代理类可以用于代表其他对象执行任务,特别是当直接访问这些对象不方便或不可能时。例如,数据库操作通常会在执行后由数据库管理系统(DBMS)代理记录下来,以保证事务的完整性和可追溯性。

三、Proxy是什么意思

1、在计算机网络中,代理服务器(Proxy Server)扮演着关键角色。它是一种中间服务器,能够代表客户端向远程服务器发送请求并接收响应,然后将响应传递给客户端。代理服务器的使用可以提升网络安全性、管理网络流量,以及实现对网络访问的控制。

2、代理服务器通过提供一种间接通信的方式来保护用户的隐私和安全。当用户尝试访问互联网上的资源时,请求首先发送到代理服务器。代理服务器再将请求转发给目标服务器,并将从目标服务器接收到的响应返回给用户。这种方式可以有效地隐藏用户的IP地址,避免直接暴露给互联网上的其他服务器,从而增强网络安全性。

3、除了提高安全性之外,代理服务器还可以在一定程度上提升网络访问效率。例如,当多个用户尝试访问同一资源时,代理服务器可以缓存资源副本,避免对同一资源的重复请求,从而减少网络带宽消耗。此外,代理服务器还能够实现对网络流量的管理,帮助组织机构控制员工的网络使用行为,例如限制访问不合适的网站或监控网络活动。

4、代理服务器的工作原理主要基于代理模式(Proxy Pattern)。代理模式是一种设计模式,用于提供一个代理对象来控制对另一个真实对象的访问。通过这种方式,代理对象可以在客户端和真实对象之间添加额外的功能或逻辑,如安全检查、性能监控等。这种模式在软件开发中有着广泛的应用,不仅限于网络通信,还可以应用于许多其他场景,如对象池管理、数据库连接管理等。

5、总体而言,代理服务器在现代网络中发挥着重要作用,通过提供间接通信、增强安全性、提升网络效率等方式,为用户和组织机构带来了诸多便利。随着互联网技术的不断发展,代理服务器的应用场景将会更加丰富,其重要性也将进一步凸显。