springboot整合ShardingSphere-JDBC

SpringBoot 整合 Sharding-JDBC SpringBoot 整合 Mybatis Plus Sharding-JDBC 阅读详情

概念:

sharding-JDBC是一款分库分表可以实现读写分离的轻量级Java框架,在Java的JDBC 层提供的额外服务。

工作方式:

它使用客户端直连数据库,以jar 包形式提供服知,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM
框架。

•适用于任何基于 JDBC 的ORM 框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template 或
直接使用 JDBC;
•支持任何第三方的数据库连接池,如:DBCP C3PO, BoneCP HikaricP 等;
但是它不支持Druid(德鲁伊)数据库连接池

引入方式:

第一步导入pom文件

   <dependency>
            <groupId>org.apache.shardingsphere</groupId>
            <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
            <version>5.1.1</version>
        </dependency>

第二步配置application.yml文件

# 读写分离配置
spring:
  shardingsphere:
    datasource:
      # 配置真实数据源
      names: master,slave1,slave2
      # 配置第 1 个数据源
      master:
        driver-class-name: com.mysql.jdbc.Driver
        jdbc-url: jdbc:mysql://127.0.0.1:3306/master
        password: 123456
        type: com.zaxxer.hikari.HikariDataSource
        username: root
      # 配置第 2 个数据源
      slave1:
        driver-class-name: com.mysql.jdbc.Driver
        jdbc-url: jdbc:mysql://127.0.0.1:3306/slave
        password: 123456
        type: com.zaxxer.hikari.HikariDataSource
        username: root
      # 配置第 3 个数据源
      slave2:
        driver-class-name: com.mysql.jdbc.Driver
        jdbc-url: jdbc:mysql://127.0.0.1:3306/slave
        password: 123456
        type: com.zaxxer.hikari.HikariDataSource
        username: root
    mode:
      # 内存模式
      type: Memory
    # 打印sql
    props:
      sql-show: true
    rules:
      readwrite-splitting:
        data-sources:
          myds:
            # 读数据源负载均衡算法名称
            load-balancer-name: alg_round
            props:
              # 读数据源名称,多个从数据源用逗号分隔
              read-data-source-names: slave1,slave2
              # 写数据源名称
              write-data-source-name: master
            # 读写分离类型,如: Static,Dynamic
            type: Static
        load-balancers:
          # 定义负载均衡算法:随机,轮询,权重
          alg_random:
            type: RANDOM
          alg_round:
            type: ROUND_ROBIN
          alg_weight:
            props:
              slave1: 1
              slave2: 2
            type: WEIGHT

注意事项

1.但是它不支持Druid(德鲁伊)数据库连接池
2.sql事务有关的内容需要慎重考虑(可以考虑使用@Transactional注解进行开发)

ShardingSphere-JDBC-若依框架集成(SpringBoot) ShardingSphere基础知识、ShardingSphere-JDBC如何集成进若依框架中 使用的是若依框架前后端版本、动态数据源,可自行切换,默认数据源为达梦8代理端, 阅读详情

相关推荐

SpringBoot整合ShardingSphere-JDBC实现按月分表实战

分库分表是解决数据库性能瓶颈的核心技术之一,通过水平拆分将大表数据分散存储,显著提升查询效率和系统扩展性。ShardingSphere作为Apache顶级分布式数据库中间件,其JDBC模块提供透明化的数据分片能力,支持多种分片策略和分布式事务。在订单、日志等时序数据场景中,按月分表能有效控制单表数据量,同时保持时间维度查询的高效性。通过SpringBoot集成ShardingSphere-JDBC,开发者可以零代码侵入实现分片路由,配合Snowflake分布式ID和XA事务保障数据一致性。本文以电商订单系统

weixin_30843121的博客 262

MySQL 分库分表实践:Spring Boot + ShardingSphere

至此,我们就完成 Spring Boot + ShardingSphere 的 MySQL 分库分表实践。商品订单的分库分表是一个很典型的案例,也是工作中遇到的常见场景。当然,实际业务也可能遇到不同的分库分表策略,比如按照日期分库分表的,不过这些都可以编写分片算法来解决。实际上,如果对 MySQL 分库分表理论基础,和 ShardingSphere 的原理及核心概念有一定的学习了解,业务开发中遇到的分库分表都相信可以很轻松地应对。

sc35262的博客 1650

SpringBoot整合ShardingSphere-JDBC 5.3.2 实现读写分离、分库分表。

SpringBoot 整合 shardingSphere-Jdbc 5.3.2 实现分库分表,读写分离 。 讲述了 分库分表、读写分离的 实现原理以及运用场景。

阿木木AEcru的博客 5217

SpringBoot 2 种方式快速实现分库分表,轻松拿捏!

是一款开源的分布式关系型数据库中间件,为Apache的顶级项目。其前身是和的两个独立项目,后来在 2018 年合并成了一个项目,并正式更名为 ShardingSphere。其中 sharding-jdbc 为整个生态中最为经典和成熟的框架,最早接触分库分表的人应该都知道它,是学习分库分表的最佳入门工具。

竹林幽深 4069

【ShardingSphere专题】SpringBoot整合ShardingSphere(一、数据分片入门及实验)

最近线上的项目部分数据表增量速度比较快,可以预见的是,个把月后数据量会急剧增长至千万级,所以只是简单的使用索引等已经无法满足业务需求了,分库分表势在必行!于是着手研究如何整合ShardingSphere到现有项目中,顺带记录一下实验过程吧。特别声明:这边是实验配置阶段,还没有完成整合到项目、以及测试联调阶段,所以不敢保证实验过程是否正确。而且,在我的业务中,还涉及到【普通单表】与【分片表】之间的联表查询,所以需要后期比较严谨的测试才能知道最终效果。不过我自己对比了站内其他大佬的教程,大体是没问题的。

qq_32681589的博客 5334

SpringBoot整合ShardingSphere-JDBC实战:5种分片策略避坑指南(附完整配置)

本文基于千万级后台系统重构实战,详细解析了SpringBoot整合ShardingSphere-JDBC时,INLINE、STANDARD、COMPLEX、HINT及CLASS_BASED五种核心分片策略的配置、适用场景与避坑要点。文章重点剖析了范围查询导致的全路由、多分片键依赖、HintManager线程安全及批量插入等常见陷阱,并提供了完整的YAML配置示例与解决方案,旨在帮助开发者高效、稳定地实施分库分表。

weixin_29212429的博客 502

springboot整合shardingSphere-JDBC

spring boot整合sharingsphere-jdbc

ahwuzebao的博客 1934

springboot整合ShardingSphere5.2.1(最新版)

springboot整合ShardingSphere5.2.1(最新版)

springboot整合shardingsphere-JDBC

垂直分库:根据业务分库,比如订单表分到订单库、会员表分到会员库垂直分表:将一个表按照字段分成多表,每个表存储其中一部分字段,比如一张表10个字段,分成三张表存储。水平分库: 把一张表的数据按照一定规则,分配到不同的数据库,每一个库只有这张表的部分数据。比如一张5000万的数据表,分到多个库去,每个库存储一部分水平分表: 把一张表的数据按照一定规则,分配到同一个数据库的多张表中,每个表只有这个表的部分数据。比如一张5000万的数据表,按照规则分成10张存在一个数据库里,每张表存储500万。

weixin_44088051的博客 793

详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

声明:本文为原创文章,发表于nebulaf91的csdn博客。欢迎转载,但请务必保留本信息,注明文章出处。 本文作者: nebulaf91 本文原始地址:最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum a posteriori estimation, 简称MAP)是很常用的两种参数估计方法,如果不理解这两种方法的思路,很

nebulaf91的博客 33万+

set_output_delay的本质

set_output_delay的本质

qq_33300585的博客 3388

SpringBoot 整合 ShardingSphere JDBC、MySQL分表实例

1. 概述 ShardingSphere 分为ShardingSphere-JDBC、ShardingSphere-Proxy、ShardingSphere-Sidecar(TODO)。 ShardingSphere 官方手册:传送门 ;这里使用的是 ShardingSphere-JDBC ,ShardingSphere-JDBC为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,

学习笔记 1083

word2vector入门教程

摘要: 网上已经有许多对w2v的介绍了,这里只是做一个简单的概括。下面这篇文章我认为是关于W2V写的比较好的文章,读者有兴趣可以先参考一下: w2v参考文章1 另外一篇是关于Skip-Gram和CBow的介绍。 Skip-Gram&CBOW 逻辑比较清晰的综述文章: 综述文章 数学原理很清晰很短的一篇文章(也有关于负采样的简单说明) 参考文章 1.什么

SCUT_Sam 1万+

SpringBoot框架简单整合ShardingSphere-JDBC实现MySQL分库分表和读写分离及加密混合

通过Docker-Compose启动3对IP不同的主从数据库,通过JPA和默认的HikariDataSource数据源结合MySQL将ShardingSphere-JDBC整合到SpringBoot框架,实现了读写分离,分库分片,以及加密和加密对特定的字段,仅供学习交流,不具备严谨性。

Logic-Driven Thought Engineering 1790

树莓派与无人机协同实战:基于OpenCV的地标识别优化策略

本文深入探讨了基于树莓派与无人机的协同系统,重点分享了利用OpenCV优化地标识别以实现精准降落的实战策略。内容涵盖从应对复杂光照的图像预处理、鲁棒的轮廓几何过滤,到通过ROS进行稳定通信,以及实现分层控制与状态机设计,旨在提升系统在真实环境中的可靠性与性能。

y2z3a4b5c的博客 1086

ROS1集群通信的可靠升级方案:为什么在无线环境下我选择了swarm_ros_bridge而非原生DDS

本文探讨了ROS1集群通信在无线环境下的可靠升级方案,重点分析了swarm_ros_bridge相较于原生DDS的优势。通过实际案例和性能对比,展示了ZeroMQ在无线通信中的稳定性和高效性,特别适合无人机编队和移动机器人集群等场景。

weixin_42567279的博客 386

Spring Boot 3整合ShardingSphere-Jdbc分库分表实战

网上找了很多资料,包括官网,使用加都无法运行,查了GPT和网上搜索,摸索了一晚上,找到了方案。

荒古废体的博客 3305

ShardingSphere-JDBC整合SpringBoot JPA读写分离失败

ShardingSphere JDBC 整合Spring Boot JPA读写分离失败

椰汁菠萝 1231

Milvus 向量数据库部署方案全景指南:从单机开发到生产级高可用集群

本文系统介绍了Milvus向量数据库的四大部署方案:嵌入式开发利器Milvus Lite、单机简易部署Standalone模式、生产级高可用Cluster模式以及全托管SaaS服务Zilliz Cloud。针对不同应用场景(开发测试、小型应用、大规模生产环境),详细分析了各模式的适用条件、资源配置要求和部署步骤,并提供了关键配置示例。文章强调正确选择部署方案对系统性能至关重要,帮助开发者根据向量规模、QPS和高可用需求,选择最优部署方式,实现资源优化与稳定运行。

reset2021的博客 385

基于V7-690T FPGA纯逻辑实现NVMe SSD盘的读写(不使用软核)

a.NVMe的Admin CQ与Admin SQ命令放在Host内存中;因此SQ的64B要用FPGA的DDR或开一个bram空间存放,同理NVME写到HOST的CQ命令也需要存放在FPGA的DDR或一个bram空间,host收到NVME传来的MSI/MSI-X中断后,去CQ存放空间取CQ指令;b. 发送identify命令后,需要发送tial doorbell通知NVME;(发送CNS01h获取4096字节的固件信息等;发送CNS02h获取1024字节的namaspace list)

宝沐熙的博客 835

【分表分库】SpringBoot整合ShardingSphere---Sharding-JDBC

ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。ShardingSphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。

Small ink的博客 2411

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

shardingsphere-jdbc 整合 springboot

shardingsphere-jdbc 整合 springboot 实现水平分表。

方圆师兄 1862

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

springboot整合shardingsphere JDBC,雪花算法

springboot整合shardingsphere JDBC,雪花算法

千里之行,始于足下 1335

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

[后端]springboot整合shardingSphere-JDBC读写分离

在此之前需要搭建mysql集群,可以看看下面两篇文章,随意选择一个搭建即可。选择自己的版本,我选的是5.1.1。

weixin_42055932的博客 541

springboot整合shardingsphere-jdbc5.1.1-按月分表

本文介绍了ShardingSphere-JDBC的分库分表实现方案。使用JDK17、Spring Boot 2.7.0和ShardingSphere-JDBC 5.1.1环境,配置了MySQL数据库表结构,包括goods表和按月分表的orders表。通过Maven引入相关依赖,包括Spring Boot Web、ShardingSphere、Druid连接池、MyBatis等组件。

weixin_46425661的博客 1330
上一篇: 刷题日常day2
下一篇: mysql5.6安装(解压文件)
鸠叁
博客等级 码龄6年 37粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值