ShardingSphere-Proxy垂直分片详解与实战

在这里插入图片描述

ShardingSphere

算法刷题专栏 | 面试必备算法 | 面试高频算法
越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
作者简介:硕风和炜,CSDN-Java领域优质创作者,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享
恭喜你发现一枚宝藏博主,赶快收入囊中吧
人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?

ShardingSphere

在这里插入图片描述
在这里插入图片描述

目录

    • 一.ShardingSphere-Proxy核心概念
    • 二.ShardingSphere-Proxy垂直分片详解与实战
      • 2.1 实战环境准备
      • 2.2 shardingproxy服务器上修改配置文件config-sharding.yaml
      • 2.3 重启服务器 & 验证是否运行成功
      • 2.4 命令行远程连接简单测试
    • 三.ShardingSphere-Proxy垂直分片实战测试
      • 3.1 命令行测试 - 插入 & 查找
    • 四.总结
    • 五.共勉

一.ShardingSphere-Proxy核心概念

  Sharding-Proxy是ShardingSphere的第二个产品,定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前先提供MySQL版本,它可以使用任何兼容MySQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench等操作数据,对DBA更加友好。

  • 向应用程序完全透明,可直接当做MySQL使用
  • 适用于任何兼容MySQL协议的客户端

在这里插入图片描述

二.ShardingSphere-Proxy垂直分片详解与实战

2.1 实战环境准备

注意:这篇文章的实战讲解是建立在之前的文章实操基础上的,如果你之前的环境还没有搭建好,可以先去搭建好环境,然后再来学习本篇文章的实战就会非常快,事半功倍!

  1. 192.168.10.134服务器(shardingproxy)上部署的ShardingSphere-Proxy代理192.168.10.132服务器和192.168.10.133服务器;
  2. 之前在192.168.10.132服务器(node1-shardingsphere)上创建的ljw_payorder_db数据库,以及数据库下创建的pay_order表;;
  3. 之前在192.168.10.133服务器(node2-shardingsphere)上创建的ljw_user_db数据库,以及数据库下创建的users表;

2.2 shardingproxy服务器上修改配置文件config-sharding.yaml

#schemaName用来指定->逻辑表名
schemaName: sharding_db
#
dataSources:
  ds_0:
    url: jdbc:mysql://192.168.10.132:3306/ljw_payorder_db?characterEncoding=UTF-8&useSSL=false
    username: root
    password: root
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 50
    minPoolSize: 1
  ds_1:
    url: jdbc:mysql://192.168.10.133:3306/ljw_user_db?characterEncoding=UTF-8&useSSL=false
    username: root
    password: root
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 50
    minPoolSize: 1

rules:
- !SHARDING
  tables:
    pay_order:
      actualDataNodes: ds_0.pay_order
    users:
      actualDataNodes: ds_1.users

ShardingSphere-Proxy垂直分片详解与实战_第1张图片

2.3 重启服务器 & 验证是否运行成功

docker restart shardingproxy
docker logs shardingproxy

在这里插入图片描述

2.4 命令行远程连接简单测试

mysql -h192.168.10.134 -P13308 -uroot -p

逻辑库建立

ShardingSphere-Proxy垂直分片详解与实战_第2张图片

三.ShardingSphere-Proxy垂直分片实战测试

3.1 命令行测试 - 插入 & 查找

mysql> show databases;
+------------------------+
| schema_name            |
+------------------------+
| readwrite_splitting_db |
| information_schema     |
| performance_schema     |
| sys                    |
| sharding_db            |
| mysql                  |
+------------------------+
6 rows in set (0.01 sec)

mysql> use sharding_db;
Database changed
mysql> show tables;
+-----------------------+------------+
| Tables_in_sharding_db | Table_type |
+-----------------------+------------+
| pay_order             | BASE TABLE |
| users                 | BASE TABLE |
+-----------------------+------------+
2 rows in set (0.01 sec)

mysql> select * from users;
Empty set (0.08 sec)

mysql> select * from pay_order;
Empty set (0.01 sec)

mysql> insert into users values(1,'ljw','123123','123123');
Query OK, 1 row affected (0.06 sec)

mysql> select * from users;
+----+----------+--------+----------+
| id | username | phone  | PASSWORD |
+----+----------+--------+----------+
|  1 | ljw      | 123123 | 123123   |
+----+----------+--------+----------+
1 row in set (0.01 sec)

mysql>

插入 & 查找

ShardingSphere-Proxy垂直分片详解与实战_第3张图片

四.总结

本篇文章主要讲解了ShardingSphere-Proxy垂直分片详解与实战,实操过程非常重要,大家一定要动手亲自实践一下,必须掌握。下节预告,ShardingSphere-Proxy水平分片详解与实战,大家敬请期待呦!!!。

五.共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

你可能感兴趣的:(ShardingSphere,ShardingProxy,mysql,springboot,java,垂直分片,ShardingSphere)