首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Shardingsphere源码
程序猿阿越
创建于2021-05-11
订阅专栏
Shardingsphere源码
等 40 人订阅
共13篇文章
创建于2021-05-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
ShardingProxy源码阅读(二)业务处理
PacketCodec:针对数据库协议的编解码实现。 FrontendChannelInboundHandler:针对Netty的ChannelInboundHandler实现。 ShardingProxy实际的业务执行。 PacketCodec编解码Handler,委托Dat…
ShardingProxy源码阅读(一)配置与启动
本章学习一下ShardingProxy的配置与启动流程。基于4.1.0版本。 ShardingConfiguration是ShardingProxy的全局配置,配置可以分为两部分,一部分是服务端配置server.yaml,一部分是规则配置(如分片规则)。 YamlProxySe…
ShardingJDBC源码阅读(十一)事务与SpringAOP
本章学习ShardingJDBC事务原理。 LOCAL:本地,不支持分布式事务。 XA:XA事务,两阶段提交,强一致。默认使用atomikos框架实现。 BASE:BASE柔性事务,最终一致,使用Seata实现。 本地事务,在用户执行ShardingConnection.set…
ShardingJDBC源码阅读(十)数据脱敏实战
本章基于shardingsphere数据加密实现原理的官方文档,根据迁移前、迁移中、迁移后三个阶段,观察sql执行的变化,深入源码分析其中的原理。 根据user_id%2分库,根据user_id%4/2分表。也就是user_id=1分配到ds_1.my_user_0;user_…
ShardingJDBC源码阅读(九)结果合并(下)
本章继续分析ShardingJDBC的核心步骤:结果合并。 ResultProcessEngine结果处理引擎,是个标记接口,继承OrderAware接口(SPI相关)。 它有两个子接口:ResultMergerEngine、ResultDecoratorEngine。 Res…
ShardingJDBC源码阅读(八)结果合并(上)
本章分析ShardingJDBC的核心步骤:结果合并。 QueryResult是对java.sql.ResultSet的封装,提供了和ResultSet一样的next方法,其他方法看名字也很容易理解。 重点看一下QueryResult的两个实现。 MemoryQueryResu…
ShardingJDBC源码阅读(七)执行
本章分析ShardingJDBC的核心步骤:执行。 回到ShardingPreparedStatement的execute方法。 ShardingPreparedStatement#initPreparedStatementExecutor创建Connection和Statem…
ShardingJDBC源码阅读(六)重写
本章分析ShardingJDBC的核心步骤:重写。 回到BasePrepareEngine#prepare,经过路由处理后最终得到RouteContext,进入executeRewrite重写流程。 1. 注册SQLRewriteContextDecorator到SQLRewr…
ShardingJDBC源码阅读(五)路由(下)
本章继续分析ShardingJDBC的核心步骤:路由。 ShardingRouteEngineFactory路由引擎工厂。 ShardingStrategy分片策略。 ShardingRouteDecorator的decorate方法是路由的核心流程。 ShardingRout…
ShardingJDBC源码阅读(四)路由(上)
本章分析ShardingJDBC的核心步骤:路由。 回到DataNodeRouter的executeRoute方法,此时已经完成SQL解析工作,createRouteContext方法构造的RouteContext中包含SQLStatementContext、params(参数…
ShardingJDBC源码阅读(三)解析
本章从一个select语句的执行,进入sharding-jdbc的第一步解析。 ShardingDataSource通过构造方法创建ShardingConnection。 ShardingConnection构造方法。 ShardingConnection的继承关系与Shard…
ShardingJDBC源码阅读(二)创建ShardingDataSource
众所周知,对于数据库的操作离不开几个类,Datasource、Connection、Statement、ResultSet。 本章关注ShardingDataSource的创建。 org.apache.shardingsphere.shardingjdbc.api.Shardi…
ShardingJDBC源码阅读(一)配置
ShardingRuleConfiguration是最常用的配置类,支持分片配置、加密配置、基于主从的读写分离配置,实现RuleConfiguration标记接口。 tableRuleConfigs:表规则配置,可以针对不同的表设置不同的分片规则,也可以使用全局默认分片规则。 …