
ShardingSphere5.x从入门到精通
文章平均质量分 84
基于spring boot讲解ShardingSphere5.x的分库分表的完整实现,以及seata分布式事务单体集成方式和在spring cloud中的ShardingSphere5.x与seata的集成的实现等
优惠券已抵扣
余额抵扣
还需支付
¥49.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
笨_鸟_不_会_飞
千里之行始于足下
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于springboot的ShardingSphere5.X的分库分表的解决方案之分表解决方案(一)
基于springboot的ShardingSphere5.X的分库分表的解决方案之分表解决方案(一)假定我们现在已经使用spring boot编写了一套系统,随着我们的系统的不断使用,其中某些表的数据量已经突破了单表千万的数据量,这时候我们该怎么办呢?ShardingSphere就是你需要的解决方案,购买了专栏的小伙伴可以加微信:aaabbb158,加微信的时候请加上您购买专栏的当前账号名称的备注,我会为你解答你遇到相应的问题,同时为您提供当前专栏的源代码。1、什么是ShardingSphereA原创 2020-12-30 19:39:02 · 11964 阅读 · 44 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之分库解决方案(二)
在基于springboot的ShardingSphere5.X的分库分表的解决方案之分表解决方案(一)这一个章节已经给大家讲解了分表的方案的实现,那么本章将接续上一个章节的内容,将为大家讲解如何基于springboot的ShardingSphere5.X的分库的解决方案。1、创建分库的数据库 在第一章分表方案的时候我们已经创建了一个db0的数据库,本章我们需要实现分库的解决方案,那么我们需要在第一章的基础上创建一个新的数据库,我们暂且命名为db1,如下所示我们创建一个db1数据库:.原创 2020-12-30 19:40:49 · 3684 阅读 · 1 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之关联查询解决方案(三)
基于springboot的ShardingSphere5.X的分库分表的解决方案之关联查询解决方案(三)在前面两章已经讲解了分库分表的解决方案了,但是前面的两个章节的分库分表的解决方案都是基于单表的,那么我们在开发中的场景是复杂的,不可能数据的增删改查都是单表操作的,很多时候涉及的都是多表的关联操作,那么在这个章节将为大家讲解多表关联查询的解决方案。1、数据库设计 在前面我们设计了其中的一张订单表了,那么在本章我们将涉及另外一张订单明细表,两者之间通过order_id产生关联关系,如原创 2020-12-30 19:41:40 · 5336 阅读 · 6 评论 -
shardingsphere5.5.1基于spring体系的集成-读写分离05
这章将讲解如何在 ShardingSphere 5.5.1 版本中配置读写分离,以实现数据在分库分表情况下的读写分离。 读写分离的核心在于 ShardingSphere 的配置,完全独立于业务代码,实现了与业务代码的解耦。因此,我们只需编写常规的业务代码,读写分离的处理由 ShardingSphere 自动完成。原创 2024-11-15 22:15:00 · 265 阅读 · 0 评论 -
shardingsphere5.5.1基于spring体系的集成-数据脱敏04
在第二节中,我们已经实现了传统的 CRUD 业务代码。接下来,介绍如何在项目中集成 ShardingSphere 的脱敏算法。内置脱敏算法:这是由 ShardingSphere 官方实现的脱敏算法,用户只需根据官方文档的格式在yml配置文件中进行配置,即可启用相应的脱敏功能,更多内置脱敏算法请查阅以下地址:https://shardingsphere.apache.org/document/current/cn/dev-manual/mask/。复合脱敏算法。原创 2024-11-13 22:00:00 · 245 阅读 · 0 评论 -
shardingsphere5.5.1基于spring体系的集成-数据加密03
在第三节中,我们已经实现了传统的 CRUD 业务代码。接下来,介绍如何在项目中集成 ShardingSphere 的数据加密算法。内置加密算法:这是由 ShardingSphere 官方实现的加密算法,用户只需根据官方文档的格式在yml配置文件中进行配置,即可启用相应的加密功能。自定义分片算法:这种算法需要开发人员基于 SPI 插件机制自行实现,提供更灵活的自定义数据机密策略。使用内置加密算法时,只需在配置文件中指定规则和算法参数,快速实现数据加密。原创 2024-11-12 21:15:00 · 307 阅读 · 0 评论 -
shardingsphere5.5.1基于spring体系的集成-复合分片02
shardingsphere已经实现的等分片算法都可以基于复合分片算法来实现,在本章中我们将会编写如何基于shardingsphere5.5.1版本实现我们的通用内置分片算法和复合分片算法。原创 2024-11-08 21:00:00 · 311 阅读 · 0 评论 -
shardingsphere5.5.1基于spring体系的集成01
ShardingSphere 已经逐步升级到 5.5.1 版本,随着版本的迭代,其配置也在不断变化。因此,我将基于 5.5.1 版本,为大家重新整理其集成方式,以便更清晰地理解和应用。原创 2024-11-07 08:45:00 · 322 阅读 · 2 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之基于seata+nacos+springcloud+shardingsphere的集成解决方案(十六)【万字博文】
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之基于seata+nacos+springcloud+shardingsphere的集成解决方案(十六)原创 2022-12-27 14:45:57 · 1618 阅读 · 2 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之自动时间段分片算法解决方案(十五)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之自动时间段分片算法解决方案(十五)原创 2022-12-30 23:30:00 · 1933 阅读 · 3 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之基于分片边界的范围分片算法解决方案(十四)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之基于分片边界的范围分片算法解决方案(十四)原创 2022-12-29 23:30:00 · 1133 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之基于分片容量的范围分片算法解决方案(十三)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之基于分片容量的范围分片算法解决方案(十三)原创 2022-12-28 23:15:00 · 1105 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之哈希取模分片算法解决方案(十二)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之哈希取模分片算法解决方案(十二)原创 2022-12-27 23:00:00 · 779 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之取模分片算法解决方案(十一)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之取模分片算法解决方案(十一)原创 2022-12-21 19:45:24 · 731 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之强制分片的实现解决方案(十)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之强制分片的实现解决方案(十)原创 2022-12-10 23:16:55 · 879 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之数据加密之RSA的解决方案(九)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之数据加密之AES的解决方案(八)原创 2022-11-22 22:30:46 · 1130 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之数据加密之AES的解决方案(八)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之数据加密之AES的解决方案(八)原创 2022-11-14 21:09:43 · 569 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之数据加密之已上线业务的解决方案(七)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之数据加密之已上线业务的解决方案(七)原创 2022-11-10 23:28:38 · 424 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之数据加密之新上线业务的解决方案(六)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之数据加密之新上线业务的解决方案(六)原创 2022-11-09 21:42:14 · 693 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之mysql主从的配置(五)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之mysql主从的配置(五)原创 2022-11-08 20:08:06 · 1629 阅读 · 3 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之复合分片算法的实现之分库分表的实现(四)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之复合分片算法的实现之分库分表的实现(四)原创 2022-11-07 21:01:36 · 1585 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之关联查询解决方案(三)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之关联查询解决方案(三)原创 2022-11-05 18:49:40 · 1510 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之分库分表解决方案(二)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之分库分表解决方案原创 2022-11-04 19:28:24 · 720 阅读 · 0 评论 -
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之分表解决方案(一)
基于springboot的ShardingSphere5.2.1的分库分表的解决方案之分表解决方案原创 2022-11-03 21:04:57 · 2089 阅读 · 4 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之关联查询数据落库落表完美解决方案(四)
基于springboot的ShardingSphere5.X的分库分表的解决方案之关联查询数据落库落表完美解决方案(四)在前面一章节我们讲解了分库分表的关联查询的解决方案,可是在上一个章节我们遗留了一个问题,那就是我们的订单明细ID很明显没有符合我们落表的解决方案,那么我们在单独查询订单明细数据的时候,是全库进行查询,这样很明显不符合我们的预期。1、解决方案 既然我们是根据order_id来进行分库分表,那是不是说明我们也可以根据order_item_id来进行分库分表进行数据的存储原创 2020-12-30 19:43:06 · 2096 阅读 · 1 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之变种雪花ID的生成(五)
基于springboot的ShardingSphere5.X的分库分表的解决方案之变种雪花ID的生成(五)在上面一章节我们已经讲解如何实现落库落表的解决思路,同时我们也用例子进行了验证,也完美的验证了我们的思路是正确的,那上一章留下来的问题大家是否有思考过呢,那就是我们该如何生成这个流水ID保证既不重复又会按照我们的规则进行落库呢,这时候Snowflake算法将为我们搞定所有的问题。1、什么是SnowFlake SnowFlake算法是Twitter设计的一个可以在分布式系统中生成原创 2020-12-30 19:45:12 · 1275 阅读 · 0 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之关联查询数据落库落表雪花ID解决方案(六)
基于springboot的ShardingSphere5.X的分库分表的解决方案之关联查询数据落库落表雪花ID解决方案(六)在上一章节我们讲解了如何生成符合我们落库落表的雪花ID的生成方案,那么在本章我们将使用这个解决方案来完成我们的订单和订单明细的落库落表的实现。1、代码改造1.1、引入SnowflakeIdWorker工具类 在我们的com.mysql.sharding.demo包底下新建一个util包,接着在util包底下创建SnowflakeIdWorker工具类如下所示:原创 2020-12-30 19:45:48 · 1653 阅读 · 1 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之复合分片算法的实现之分库的实现(七)
基于springboot的ShardingSphere5.X的分库分表的解决方案之复合分片算法的实现之分库的实现(七)在前面我们都是使用ShardingSphere内置的标准的分片算法,那么在ShardingSphere官方上复合分片算法和Hint分片算法是要求我们开发人员自己根据自己的需求去实现,那么本章将带领大家如何基于ShardingSphere5.x实现复合分片算法。1、什么是复合分片算法 对应 ComplexKeysShardingAlgorithm,用于处理使用多键作为原创 2020-12-30 19:58:01 · 1664 阅读 · 6 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之复合分片算法的实现之分库分表的实现(八)
基于springboot的ShardingSphere5.X的分库分表的解决方案之复合分片算法的实现之分库分表的实现(八)在上一章我们已经实现了订单的分库算法的实现了,还给大家遗留了一个问题,那就是我们使用user_id来进行查询订单和订单明细分页分表的数据的时候我们的ShardingSphere会如何进行查询呢,那么在这章我将为大家模拟相应的结果,同时给出相应的解决方案1、未集成分表效果展示1.1、OrderDao.xml改造 OrderDao.xml增加根据用户ID查询的方法原创 2020-12-30 19:58:33 · 1227 阅读 · 3 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之mysql主从数据库的搭建(九)
基于springboot的ShardingSphere5.X的分库分表的解决方案之mysql主从数据库的搭建(九)为了实现ShardingSphere5.X的读写分离,因此我们需要先配置一个读写分离的mysql环境,那么本章将讲解如何从零开始搭建一个主从的mysql数据库。1、搭建CentOs7测试环境 首先我们需要搭建一个测试环境,那么这边我们使用的是Vmware来安装我们的镜像,具体的安装方式大家可以直接点击以下的链接基于VMware安装CentOs7的镜像来完成CentOs7原创 2020-12-30 20:39:44 · 1002 阅读 · 0 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之mysql主从的配置(十)
基于springboot的ShardingSphere5.X的分库分表的解决方案之mysql主从的配置(十)在上一章已经讲解了该如何搭建CentOs7环境、mysql数据库的安装,已经mysql主从的搭建的完整步骤了,那么在本章我们将基于上一章搭建好的主从数据库我们在本章实现ShardingSphere5.x的主从的配置,搭建ShardingSphere5.X的每一个功能点都感觉是填坑之旅,没有一次是按着官方文档可以一步到位的。1、官网主从配置的实现1.1、基于官网配置的环境的搭建原创 2020-12-30 20:40:15 · 1325 阅读 · 14 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之数据加密之新上线业务的解决方案(十一)
基于springboot的ShardingSphere5.X的分库分表的解决方案之数据加密之新上线业务的解决方案(十一)ShardingSphere5.X的数据加密方案可以让我们无缝的实现我们的数据的加密,在我们不改动原有的代码的情况下实现我们的数据加密方案,那么我们首先要开始讲解我们的新上线业务的数据加密的解决方案。1、数据加密的实现原理 关于ShardingSphere5.X的数据加密的实现原理,在此处就不再进行叙述了,大家直接去官网上看即可,上面已经讲解了十分的清楚明白了,我原创 2020-12-30 20:44:13 · 929 阅读 · 0 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之数据加密之已上线业务的解决方案(十二)
基于springboot的ShardingSphere5.X的分库分表的解决方案之数据加密之已上线业务的解决方案(十二)在上一章我们完成了新业务数据加密上线的实现了,那么很多时候我们很多业务是旧的业务,这时候突然收到需求需要上线数据加密,那这时候ShardingSphere5.X也可以满足我们的需求。 在官网上已经给了我们解决的场景了,这边就不再贴具体的实现的原理,具体的迁移过程大家可以直接访问官网的数据加密实现原理中的已上线业务改造模块的说明:1、系统迁移前原创 2020-12-30 20:44:41 · 777 阅读 · 0 评论 -
ShardingSphere-proxy的部署之标准分片的实现(十三)
ShardingSphere-proxy的部署之标准分片的实现(十三)在前面的章节我们已经讲解好了大部分的ShardingSphere5.x的东西了,就剩下影子库和分布式事务,这两块留到后续再来讲解,那么本章将为大家讲解我们的ShardingSphere-proxy透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前提供 MySQL 和 PostgreSQL 版本,它可以使用任何兼容 MySQL/PostgreSQL 协议的访问客户端(如:MySQL Comma原创 2020-12-30 20:45:10 · 1013 阅读 · 0 评论 -
ShardingSphere-proxy的部署之复合分片的实现(十四)
ShardingSphere-proxy的部署之复合分片的实现(十四)在上一个章节我们已经实现了我们的ShardingSphere-proxy标准分片了,那到这章我们将实现我们的ShardingSphere-proxy的复合分片的实现。1、编写复合分片算法1.1、创建maven工程 首先打开我们的idea,然后创建一个maven工程如下所示: 然后点击Next下一步,输入如下信息: 接着点击Next配置我们工程的存放位置:原创 2020-12-30 20:46:04 · 1615 阅读 · 1 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之基于seata的分布式事务的解决方案(十五)
基于springboot的ShardingSphere5.X的分库分表的解决方案之基于seata的分布式事务的解决方案(十五)在前面的章节我们已经对ShardingSphere5.X的核心功能进行了讲解了,那么作为扩展,我们在本章将为大家讲解ShardingSphere5.X的基于seata的分布式事务的实现。我们首先需要将seata于以下的几个事务进行比对。1、ShardingSphere分布式事务概览1.1、本地事务1.1.1、支持项完全支持非跨库事务,例如:仅分表,或分库但是路由的结原创 2020-12-30 20:46:51 · 2328 阅读 · 0 评论 -
ShardingSphere5.x在Spring Cloud的微服务中seata的分布式事务的解决方案(十六)【万字博文】
在前面我们已经讲解了ShardingSphere5.x的分布式事务的seata的解决方案,可是那个方案是基于单体系统的解决方案,那在我们的spring cloud的微服务中我们该如何去实现基于ShardingSphere5.x的seata的分布式事务的实现呢,接下里在本章张将为大家讲解如何实现微服务中的ShardingSphere5.x的seata的分布式解决方案的实现。1、demo技术选型及版本信息注册中心:eureka服务间调用:feign持久层:mybatis数据库:m.原创 2020-12-30 20:48:49 · 2487 阅读 · 5 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之数据加密之AES的解决方案(十七)
基于springboot的ShardingSphere5.X的分库分表的解决方案之数据加密之AES的解决方案(十七)在前面的章节我们已经讲解了MD5的加密的解决方案,那么在本章我们将为大家讲解如何实现AES的加密解决方案,好了不多说了我们直接开始我们的配置的过程。1、清理数据 由于我们之前创建了部分基于MD5加密的数据,为了防止对我们本章的测试产生干扰,因此我们首先要清空113数据库中的db0和db1中的t_user中的数据。2、修改配置 打开我们的s原创 2021-01-07 20:19:32 · 811 阅读 · 2 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之数据加密之RSA的解决方案(十八)
在上面的章节我们讲解了如何基于AES实现数据的加密,但是我们生产中可能还有其他的加密方式,比如我希望使用RSA或者SM2进行加密,那这时候我们该如何实现呢?ShardingSphere为我们提供了SPI的方式进行实现,接下来我将为大家讲解RSA的实现方式。1、需求场景我们需要将密码字段采用公钥进行加密,然后用户查询的时候根据用户名称进行查询,同时将密码通过私钥解密出来返回给到用户,那么我们现在就开始模拟实现以上的场景。2、数据库改造由于我们之前设计的数据库的加密字段最大长度为64,因此我们需要将.原创 2021-01-07 20:20:22 · 795 阅读 · 1 评论 -
基于springboot的ShardingSphere5.X的分库分表的解决方案之强制分片的实现解决方案(十九)
我们现在的订单表中是没有店家的流水ID,那这时候我们需要根据店家的流水ID来进行分片,那我们该如何处理呢,这在我们的现实场景中是有可能遇到的一种场景,那么ShardingSphere为我们提供了强制分片的解决方案,那么接下来我将为大家讲解如何实现强制分片1、搭建工程1.1、创建工程由于我们前面的工程实在是包含太多东西了,因此我们重新创建一个全新的工程,如下所示:1.2、配置pom.xml直接打开我们的pom.xml然后引入如下所示的依赖:<?xml version="1.0" enc.原创 2021-01-12 20:13:34 · 1284 阅读 · 0 评论