自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 事务消息实现分布式事务

消息队列里的分布式事务?(仅代表第二代消息队列,rocketmq和kafka)消息队列的事务是为了保持生产者的数据和消费者的数据一致,保证生产者执行了操作,然后发送的消息,消费者一定要收到消息;**例子背景:**订单系统在数据库生成订单然后再发消息给购物车系统,让系统将订单里的商品从购物车里移除;**问题分析:**要保证生产者和消费者的数据一致性,第一得保证生产者执行了本地操作后一定能发送消息,反之失败不能发送消息,第二保证mq必须能将消息提交给消费者。第二mq可以根据自己的重传和操作的幂等性保证,因

2021-06-04 22:46:37 242

原创 Redis高性能IO模型学习

本文主要介绍Redis 6.0前后的IO线程模型,是本人通过学习资料做的学习总结和记录;1.Redis6.0之前的单线程模型Redis 单线程是指它对网络 IO 和数据读写的操作采用了一个线程,而采用单线程的一个核心原因是避免多线程开发的并发控制问题,并且也因为单线程的缘故,带来了天然的事务隔离级别为串行化级别,也带来了原子性的特点。但是,单线程模型的Redis其性能还如此高效,不仅仅是因为其高效的数据结构,主要是在网络IO阶段做了优化。朴素理解下的单线程模型:朴素理解下的单线程将网络IO操作和

2021-05-20 21:52:32 166

原创 分布式事务模型学习

总概分布式事务按照一致性分为强一致性事务和弱一致性事务。其中强一致性事务介绍XA事务。弱一致性事务介绍3大柔性事务:TCC,AT,SAGA。这四大事务模型都属于基于2PC提交协议的事务模型。二阶段提交协议分布式的二阶段提交协议分成了事务协调者事务管理器TM,事务参与者资源管理器。事务管理器分两个阶段来协调资源管理器,第一阶段准备资源,也就是预留事务所需的资源,如果每个资源管理器都资源预留成功,则进行第二阶段资源提交,否则协调资源管理器回滚资源。XA事务XA事务是基于数据库本身支持的协议。是在现有

2021-05-15 00:17:54 675

原创 ThreadLocal原理解析

ThreadLocal背景起初是在实现aop的读写分离功能,需要标注当前请求应该走哪个数据库功能,但是每个请求是分属于不同线程,且该标注是需要跨方法传递下去的上下文参数,因此使用了ThreadLocal,其线程本地存储模式特性来实现该功能。原理预想ThreadLocal是 每个线程的本地存储,意思有点加强版局部变量的味道,针对此特性,很容易想到其实现细节应该是ThreadLocal里维护了一个map,map的key是Thread,value是本地存储object,具体如下其代码实现:class

2021-05-10 10:32:28 152

原创 mysql表设计主要类型知识总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、关于数字类型需要注意什么?二、字符型需要注意什么?三.关于时间类型需要注意什么?前言本篇主要总结介绍mysql数据表设计时最常用的几个数据类型,整型,字符型,时间类型等的注意事项一、关于数字类型需要注意什么?常用数字类型,整型和高精度型:关于整型INT,在设计表对某些字段使用Unsigned类型时,考虑到可能该字段在实现某些功能需要做差值,因此需要设置为mysql> SET sql_mode='NO

2021-05-04 22:49:04 199

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除