ShardingSphere-Proxy水平分片详解与实战

这篇具有很好参考价值的文章主要介绍了ShardingSphere-Proxy水平分片详解与实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ShardingSphere-Proxy水平分片详解与实战,ShardingSphere,ShardingProxy,mysql,java,springboot,水平分片,ShardingSphere,docker

🚀 ShardingSphere 🚀

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

🚀 ShardingSphere 🚀

ShardingSphere-Proxy水平分片详解与实战,ShardingSphere,ShardingProxy,mysql,java,springboot,水平分片,ShardingSphere,docker
ShardingSphere-Proxy水平分片详解与实战,ShardingSphere,ShardingProxy,mysql,java,springboot,水平分片,ShardingSphere,docker

🍀 一.ShardingSphere-Proxy核心概念

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

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

ShardingSphere-Proxy水平分片详解与实战,ShardingSphere,ShardingProxy,mysql,java,springboot,水平分片,ShardingSphere,docker

🍀 二.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_course_db1数据库,以及数据库下创建的t_course_1表和t_course_2表;
  3. 之前在192.168.10.133服务器(node2-shardingsphere)上创建的ljw_course_db2数据库,以及数据库下创建的t_course_1表和t_course_2表;

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

具体的配置信息可以参考之前的文章:ShardingSphere分库分表实战之水平分库和水平分表进行配置!

schemaName: sharding_db

dataSources:
  ljw_course_db1:
    url: jdbc:mysql://192.168.10.132:3306/ljw_course_db1?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: root
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 50
    minPoolSize: 1
  ljw_course_db2:
    url: jdbc:mysql://192.168.10.133:3306/ljw_course_db2?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: root
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 50
    minPoolSize: 1

rules:
- !SHARDING
  tables:
    t_course:
      actualDataNodes: ljw_course_db${1..2}.t_course_${1..2}
      databaseStrategy:
        standard:
          shardingColumn: user_id
          shardingAlgorithmName: table-inline
      tableStrategy:
        standard:
          shardingColumn: cid
          shardingAlgorithmName: inline-hash-mod
      keyGenerateStrategy:
        column: cid
        keyGeneratorName: snowflake

  shardingAlgorithms:
    table-inline:
      type: INLINE
      props:
        algorithm-expression: t_course_${user_id % 2 + 1}
    inline-hash-mod:
      type: INLINE
      props:
        algorithm-expression: t_course_${Math.abs(cid.hashCode()) % 2 + 1}
  
  keyGenerators:
    snowflake:
      type: SNOWFLAKE

ShardingSphere-Proxy水平分片详解与实战,ShardingSphere,ShardingProxy,mysql,java,springboot,水平分片,ShardingSphere,docker

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

docker restart shardingproxy
docker logs shardingproxy

ShardingSphere-Proxy水平分片详解与实战,ShardingSphere,ShardingProxy,mysql,java,springboot,水平分片,ShardingSphere,docker

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

mysql -h192.168.10.134 -P13308 -uroot -p

逻辑库建立

ShardingSphere-Proxy水平分片详解与实战,ShardingSphere,ShardingProxy,mysql,java,springboot,水平分片,ShardingSphere,docker

🍀 三.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,ShardingProxy,mysql,java,springboot,水平分片,ShardingSphere,docker

🍀 四.总结

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

💬 五.共勉

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

ShardingSphere-Proxy水平分片详解与实战,ShardingSphere,ShardingProxy,mysql,java,springboot,水平分片,ShardingSphere,docker

ShardingSphere-Proxy水平分片详解与实战,ShardingSphere,ShardingProxy,mysql,java,springboot,水平分片,ShardingSphere,docker文章来源地址https://www.toymoban.com/news/detail-614787.html

到了这里,关于ShardingSphere-Proxy水平分片详解与实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ShardingSphere 分片算法

    测试ShardingSphere版本: 5.2.0 下面配置中省略部分前缀,仅供参考 自动分片算法通常用在 auto-tables 中,只需配置 actualDataSources 后,其他 由分片算法自行解析 处理。 注意,通常自动分片算法中的分片表都是在数据源中采用 类似轮训 的方式进行 规律分片 的,如:      db_0

    2023年04月09日
    浏览(31)
  • Spring Boot集成ShardingSphere分片利器 AutoTable (二)—— 自动分片算法示例 | Spring Cloud 46

    在前面我们通过以下章节对 ShardingSphere 的 AutoTable 有了基础的了解: Spring Boot集成ShardingSphere分片利器 AutoTable (一)—— 简单体验 | Spring Cloud 45 书接上回,本章进行对 AutoTable 支持的自动分片算法进行逐一示例说明。 示例采用 springboot 集成 shardingsphere-jdbc 方式搭建。 shadi

    2024年02月10日
    浏览(38)
  • 2. MongoDB分片集群架构实战-----MongoDB分片集群和多文档事务详解

    本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。 课程内容: 1.MongoDB分片集群架构及其原理分析 2.MongoDB分片集群环境搭建 3.MongoDB分片策略和数据均衡详解 4.写事务之writeConcern实战 5.读事务之readPreferencereadConcern实战 6.MongoDB多文档事务

    2024年02月11日
    浏览(49)
  • ShardingSphere5入门到实战

    ShardingSphere5入门到实战 互联网业务兴起之后,海量用户加上海量数据的特点,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提升性能。高性能数据库集群的 第一种方式是“读写分离” , 第二种方式是“数据库分片” 。 读写分离原理: 读写分离的

    2024年02月11日
    浏览(60)
  • shardingsphere5.x整合springboot分库分表实战

    官方文档不同版本配置变更记录:Spring Boot Start 配置 :: ShardingSphere pom.xml配置: 建表sql: yml配置: orders对象实体: OrdersMapper:  OrdersMapper.xml:  单元测试:  1、插入数据结果,按order_no分片取模,分片数为10,该数据被写入表orders_2: 2、查询数据sql,按order_no分片取模,分

    2024年02月07日
    浏览(42)
  • shardingsphere5.x整合springboot+dynamic-datasource多数据源实战

    本文是在springboot整合分库分表的基础上添加了多数据源,建议先看上一篇shardingsphere5.x整合springboot分库分表实战_任人人人呢的博客-CSDN博客 pom.xml配置: yml配置: 添加多数据源配置类: 添加多数据源常量类: Mapper文件

    2024年02月13日
    浏览(38)
  • 如何提高蓝队在实战攻防演习中的防御水平?

    随着近几年复杂国际形势的大背景和国内护网活动的锤炼,传统的安全运维/服务类解决方案在面临新的挑战和要求下显得捉襟见肘,日渐吃力。越来越多的组织开始引入红队服务来寻求对信息系统的更接近实战的威胁评估。与此同时,如何建立应对真实威胁且能够迅速反应的

    2023年04月25日
    浏览(37)
  • 机器视觉技术与应用实战(平均、高斯、水平prewitt、垂直prewitt、水平Sobel、垂直Sobel、拉普拉斯算子、锐化、中值滤波)

         扯一点题外话,这一个月经历了太多,接连感染了甲流、乙流,人都快烧没了,乙流最为严重,烧了一个星期的38-39度,咳嗽咳到虚脱。还是需要保护好身体,感觉身体扛不住几次连续发烧!(甲流乙流是病毒,提前准备好奥司他韦,这个是阻断病毒复制的药,48小时内

    2024年01月21日
    浏览(56)
  • 垂直分表、水平分表详解

    什么是垂直分表 垂直分表就是把一张表按列分为多张表,多张表通过主键进行关联,从而组成完整的数据。 分表之后,每张表的结构都不相同。 垂直分表不需要额外引用其他组件,需要到Repository层面建立好表映射即可。 根据什么分表呢? 根据数据是否是热点数据划分。

    2024年02月08日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包