qq_41956309
码龄7年
关注
提问 私信
  • 博客:44,996
    社区:3
    44,999
    总访问量
  • 76
    原创
  • 212,214
    排名
  • 149
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江西省
  • 加入CSDN时间: 2018-04-05
博客简介:

qq_41956309的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    502
    当月
    1
个人成就
  • 获得201次点赞
  • 内容获得5次评论
  • 获得239次收藏
  • 代码片获得250次分享
创作历程
  • 1篇
    2024年
  • 38篇
    2023年
  • 40篇
    2022年
  • 2篇
    2020年
成就勋章
TA的专栏
  • Sentinel源码
  • Seata
    12篇
  • Nacos
    17篇
  • jvm
  • 并发编程
    9篇
  • 操作系统
    1篇
  • Java基础
    2篇
  • redis
    3篇
  • mysql
    6篇
  • RocketMQ
    5篇
  • spring
    5篇
  • SpringBoot
    1篇
  • 设计模式
    10篇
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

并发编程总结

并发编程总结 感兴趣资源里自取。
原创
发布博客 2024.03.03 ·
382 阅读 ·
7 点赞 ·
0 评论 ·
7 收藏

Java并发编程总结!!!

发布资源 2024.03.03 ·
xmind

Seata源码——TCC模式总结

TCC 是分布式事务中的二阶段提交协议,它的全称为 Try-Confirm-Cancel,即资源预留(Try)、确认操作(Confirm)、取消操作(Cancel)
原创
发布博客 2023.12.24 ·
1165 阅读 ·
22 点赞 ·
1 评论 ·
25 收藏

Seata源码——TCC模式解析03

在分布式系统中,随时随地都需要面对网络超时,网络重发和服务器宕机等问题。所以分布式事务框架作为搭载在分布式系统之上的一个框架型应用也绕不开这些问题。具体而言,有以下常见问题:1.幂等处理2.空回滚3.资源悬挂参考 :https://developer.aliyun.com/article/1053736#
原创
发布博客 2023.12.24 ·
522 阅读 ·
9 点赞 ·
0 评论 ·
8 收藏

Seata源码——TCC模式解析02

在SpringBoot启动的时候通过自动注入机制将GlobalTransactionScanner注入进ioc而GlobalTransactionScanner继承AbstractAutoProxyCreatorAbstract 在postProcessAfterInitialization阶段由子类创建代理TccActionInterceptor。
原创
发布博客 2023.12.24 ·
1023 阅读 ·
23 点赞 ·
0 评论 ·
19 收藏

Seata源码——TCC模式使用01

TCC 是分布式事务中的二阶段提交协议,它的全称为 Try-Confirm-Cancel,即资源预留(Try)、确认操作(Confirm)、取消操作(Cancel),他们的具体含义如下:Try:对业务资源的检查并预留。Confirm:对业务处理进行提交,即 commit 操作,只要 Try 成功,那么该步骤一定成功。Cancel:对业务处理进行取消,即回滚操作,该步骤回对 Try 预留的资源进行释放。TCC 是一种侵入式的分布式事务解决方案,以上三个操作都需要业务系统自行实现,对业务系统有着非常大的
原创
发布博客 2023.12.24 ·
598 阅读 ·
8 点赞 ·
0 评论 ·
7 收藏

Seata——AT模式和TCC模式总结

原创
发布博客 2023.12.24 ·
383 阅读 ·
6 点赞 ·
0 评论 ·
8 收藏

AT模式总结

基于支持本地 ACID 事务的关系型数据库。Java 应用,通过 JDBC 访问数据库。
原创
发布博客 2023.12.21 ·
1187 阅读 ·
24 点赞 ·
0 评论 ·
19 收藏

Seata中AT模式的实现原理04-GlobalLock的作用

Seata(AT 模式)的默认全局隔离级别是 读未提交如果应用在特定场景下,必需要求全局的 读已提交 ,目前 Seata 的方式是通过 SELECT FOR UPDATE 语句的代理。SELECT FOR UPDATE 语句的执行会申请 全局锁 ,如果 全局锁 被其他事务持有,则释放本地锁(回滚 SELECT FOR UPDATE 语句的本地执行)并重试。这个过程中,查询是被 block 住的,直到 全局锁 拿到,即读取的相关数据是 已提交 的,才返回。
原创
发布博客 2023.12.21 ·
973 阅读 ·
17 点赞 ·
0 评论 ·
19 收藏

Seata中AT模式的实现原理03-二阶段提交

1.当一阶段提交没有任何异常情况下进行二阶段提交 TM会发送提交全局事务请求给TC2.TC接收到全局事务提交请求之后会循环所有的分支事务 往RM发送分支事务提交的请求3.RM接收到分支事务提交请求之后会委派给AsyncWorker去处理 从阻塞队列里面拿数据4.AsyncWorker处理的时候其实就是将undo_log的数据删除5.当RM处理完之后返回TC 然后会将全局锁删除 就是 lock_table表数据6.将分支事务状态变为二阶段已提交。
原创
发布博客 2023.12.21 ·
1074 阅读 ·
15 点赞 ·
0 评论 ·
23 收藏

Seata中AT模式的实现原理02-RM分支事务提交

1.项目启动的时候会为DataSource做增强 当全局事务开启之后执行业务代码的时候会进到DataSource的代理中然后由执行器去做语句的执行2.开启本地事务3.在执行业务语句之前会构建前置镜像 其实就相当于一个 select id from test where 修改条件/删除条件 = xxx for uodate 用于在后续的事务提交中提供数据的一致性保证。以便在事务提交时使用这个镜像来比较和确认事务是否能够成功提交。4. 然后会执行业务代码。
原创
发布博客 2023.12.21 ·
916 阅读 ·
18 点赞 ·
0 评论 ·
20 收藏

Seata中AT模式的实现原理01-TM开启全局事务

1.项目启动的时候会由SpringBoot自动装配机制把GlobalTransactionScanner装配进spring容器中去做增强并会注入一个全局事务的拦截器2.当有标准了GlobalTransactional的方法被执行的时候会通过拦截器进行拦截进行全局事务的开启3.开启全局事务的之前会先根据不同的事务隔离级别去做不同的处理4.然后TM会通过Netty发送一个开启全局事务的请求到TC。
原创
发布博客 2023.12.21 ·
911 阅读 ·
24 点赞 ·
0 评论 ·
26 收藏

Seata客户端启动流程

1.客户端启动的时候会通过SpringBoot的自动装配机制加载配置类2.设置RestTemplate的拦截器用来拦截所有mvc请求 和Feign的拦截器拦截Feign请求设置全局事务ID3.初始化TM(事务管理者) RM(资源管理者) 建立Netty客户端的通道并启动4.注册TM 和RM到SeataServer。
原创
发布博客 2023.12.15 ·
192 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Seata服务端启动流程

1.解析registry.conf、file.conf等配置文件2.创建一个监控,做metric指标采集3.创建SeataNettyServer服务端(TC事务协调器) 并设置一个Handler用来处理AT、TCC、SAGA等不同事务类型的逻辑处理4.设置事务持久化方式5.设置全局锁的管理器6.启动Seata服务端 建立和客户端的通道 默认端口为8091。
原创
发布博客 2023.12.15 ·
380 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Nacos原理总结

原创
发布博客 2023.12.13 ·
87 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Nacos源码解读08——基于JRaft实现AP模式

详情参考。
原创
发布博客 2023.12.11 ·
725 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Nacos源码解读12——Nacos中长连接的实现

就比如在飞机上想上厕所 却发现厕所有人需要等待 但是你又不想在那等 就只能回去等 ,但是过一段时间在去 还有人 在接着回去 这么周而复始的去回。
原创
发布博客 2023.12.10 ·
1306 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Nacos源码解读10——配置中心的客户端怎么处理服务端推送的配置信息变更

客户端在启动的时候会构建一个ConfigService的处理类,然后再ConfigService的构造,方法中会创建一个ClientWorker 用来处理对服务端的网络通信及后续变更处理,
原创
发布博客 2023.12.10 ·
293 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Nacos源码解读11——客户端怎么读取最新的配置信息

1.springboot启动的时候会通过自动注入 将NacosPropertySourceLocator注入到bean容器中 然后会调用到locate方法中进行配置的读取2.配置读取会先判断是否配置了自动刷新 如果没有配置则直接从缓存中读取3.如果配置了自动刷新 会先从本地快照中读取 如果读取到了就返回并加入到本地缓存中。
原创
发布博客 2023.12.10 ·
289 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Nacos源码解读09——配置中心配置信息创建修改怎么处理的

1.当从服务端进行配置的新增和修改会先将数据给持久化到内嵌的数据源或者外部的比如mysql中2.然后发送配置变更的事件会将配置通过GRPC协议同步给连接自己的cleint端 和连接集群中其他节点的客户端。
原创
发布博客 2023.12.10 ·
300 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多