专注网站建设16年健康生活网站开发系统背景

| 🚀 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 实战环境准备
注意:这篇文章的实战讲解是建立在之前的文章实操基础上的,如果你之前的环境还没有搭建好,可以先去搭建好环境,然后再来学习本篇文章的实战就会非常快,事半功倍!
- 在
192.168.10.134服务器(shardingproxy)上部署的ShardingSphere-Proxy代理192.168.10.132服务器和192.168.10.133服务器; - 之前在
192.168.10.132服务器(node1-shardingsphere)上创建的ljw_course_db1数据库,以及数据库下创建的t_course_1表和t_course_2表; - 之前在
192.168.10.133服务器(node2-shardingsphere)上创建的ljw_course_db2数据库,以及数据库下创建的t_course_1表和t_course_2表; 
🥦 2.2 shardingproxy服务器上修改配置文件config-sharding.yaml
具体的配置信息可以参考之前的文章:ShardingSphere分库分表实战之水平分库和水平分表进行配置!
schemaName: sharding_dbdataSources:ljw_course_db1:url: jdbc:mysql://192.168.10.132:3306/ljw_course_db1?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername: rootpassword: rootconnectionTimeoutMilliseconds: 30000idleTimeoutMilliseconds: 60000maxLifetimeMilliseconds: 1800000maxPoolSize: 50minPoolSize: 1ljw_course_db2:url: jdbc:mysql://192.168.10.133:3306/ljw_course_db2?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername: rootpassword: rootconnectionTimeoutMilliseconds: 30000idleTimeoutMilliseconds: 60000maxLifetimeMilliseconds: 1800000maxPoolSize: 50minPoolSize: 1rules:
- !SHARDINGtables:t_course:actualDataNodes: ljw_course_db${1..2}.t_course_${1..2}databaseStrategy:standard:shardingColumn: user_idshardingAlgorithmName: table-inlinetableStrategy:standard:shardingColumn: cidshardingAlgorithmName: inline-hash-modkeyGenerateStrategy:column: cidkeyGeneratorName: snowflakeshardingAlgorithms:table-inline:type: INLINEprops:algorithm-expression: t_course_${user_id % 2 + 1}inline-hash-mod:type: INLINEprops:algorithm-expression: t_course_${Math.abs(cid.hashCode()) % 2 + 1}keyGenerators:snowflake:type: SNOWFLAKE
 

🥦 2.3 重启服务器 & 验证是否运行成功
docker restart shardingproxy
docker logs shardingproxy
 

🥦 2.4 命令行远程连接简单测试
mysql -h192.168.10.134 -P13308 -uroot -p
 
逻辑库建立

🍀 三.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 |
+-----------------------+------------+
| user                  | BASE TABLE |
| t_course              | BASE TABLE |
| t_course_section_2    | BASE TABLE |
| t_course_section_1    | BASE TABLE |
+-----------------------+------------+
4 rows in set (0.01 sec)mysql> select * from t_course;
+---------------------+---------+-----------+-------------------------------+---------------------------------------------------+--------+--------+
| cid                 | user_id | corder_no | cname                         | brief                                             | price  | status |
+---------------------+---------+-----------+-------------------------------+---------------------------------------------------+--------+--------+
| 1684390587633422337 |    1001 |      NULL | Sharding-JDBC强制路由案例实战 | 全网Sharding-JDBC强制路由案例实战最详细讲解!!! | 8939.0 |      0 |
| 1684390587700531202 |    1002 |      NULL | Sharding-JDBC强制路由案例实战 | 全网Sharding-JDBC强制路由案例实战最详细讲解!!! | 8939.0 |      0 |
| 1684390587700531203 |    1003 |      NULL | Sharding-JDBC强制路由案例实战 | 全网Sharding-JDBC强制路由案例实战最详细讲解!!! | 8939.0 |      0 |
| 1684390587700531204 |    1004 |      NULL | Sharding-JDBC强制路由案例实战 | 全网Sharding-JDBC强制路由案例实战最详细讲解!!! | 8939.0 |      0 |
| 1684390587767640066 |    1005 |      NULL | Sharding-JDBC强制路由案例实战 | 全网Sharding-JDBC强制路由案例实战最详细讲解!!! | 8939.0 |      0 |
+---------------------+---------+-----------+-------------------------------+---------------------------------------------------+--------+--------+
5 rows in set (0.01 sec)
 
插入 & 查找

🍀 四.总结
本篇文章主要讲解了ShardingSphere-Proxy水平分片详解与实战,实操过程非常重要,大家一定要动手亲自实践一下,必须掌握。下节预告,ShardingSphere-Proxy绑定表与广播表详解与实战,大家敬请期待呦!!!。
💬 五.共勉
| 最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉! | 


