- 博客(6)
- 资源 (14)
- 收藏
- 关注
原创 2w字搞懂Spring AOP的前世今生
Spring AOP概述我们在使用Spring框架的时候,经常需要和Spring的2大特性,IOC和AOP打交道,之前写了一篇《2w字搞懂Spring Bean的一生》从源码层面分析了IOC的执行流程,本篇文章就接着分一下AOP的底层实现,比较基础的内容本篇文章就不多做介绍了AOP这种设计理念设计的概念如下AOP的主要应用场景如下Spring AOP的实现主要经历了2代第一代:Spring自己实现了AOP的功能第二代:Spring集成了AspectJ的实现Spring AOP一代当我们.
2021-09-26 14:59:44 2330 1
原创 分布式事务解决方案:Seata TCC 模式
介绍开源的TCC框架有很多,比如,hmily,EasyTransaction,ByteTCC,TCC-Transaction等。其实我刚开始是用hmily学习tcc的,后续我也看了一下hmily的源码,但是,mily对各种异常流程的处理没有seata优雅。所以本篇就用seata tcc模式写一个转账demo,seata-tcc-tm项目向seata-tcc-rm项目转账seata-tcc-tmapplication.yamlserver: port: 30002spring: appl.
2021-09-21 16:28:19 653
原创 分布式事务解决方案:Seata AT模式
Seata AT模式的demoSeata AT和XA模式的代码基本上一摸一样,就是开启数据源代理的时候不用在指定模式了,因为默认为AT模式我们以seata-at-tm项目向seata-at-rm项目转账为例演示一下seata at模式的使用,seata at模式更多的细节我们在后续的源码分析文章中介绍哈另外还需要在db_account_1和db_account_2库中建如下两张表,seata框架会用到CREATE TABLE `undo_log`( `id` big.
2021-09-21 13:39:50 352
原创 面试官:分布式ID的生成策略有哪些?
介绍在很多业务系统中,我们经常会遇到生成全局唯一的分布式ID的需求,如IM系统,订单系统等。那么生成全局唯一的分布式ID的方法有哪些呢?UUID// 3eece1c6-5b57-4bce-a306-6c49e44a1f90UUID.randomUUID().toString()本地生成,生成速度快,但识别性差,没有顺序性可以用来标识图片等,不能用作数据库主键数据库自增主键我们原来刚开始做IM系统的时候就单独建了一个表来获取自增id作为消息的ID,单独开一张表来获取自增id也不会影响对消息.
2021-09-19 16:02:48 523
原创 分布式事务解决方案:XA规范
XA规范二阶段提交协议是一个协议,而XA规范是X/Open 组织针对二阶段提交协议的实现做的规范。目前几乎所有的主流数据库都对XA规范提供了支持。这样做的好处是方便多个资源(如数据库,应用服务器,消息队列等)在同一个事务中访问。你可以类比JDBC我们这篇文章就以MySQL XA为例演示一下XA怎么玩?MySQL XA常用的命令如下命令解释XA START xid开启一个事务,并将事务置于ACTIVE状态,此后执行的SQL语句都将置于该事务中XA END xid将事务.
2021-09-16 20:43:07 1770
原创 面试官:MySQL事务的隔离性是如何实现的?
并发场景最近做了一些分布式事务的项目,对事务的隔离性有了更深的认识,后续写文章聊分布式事务。今天就复盘一下单机事务的隔离性是如何实现的?隔离的本质就是控制并发,如果SQL语句就是串行执行的。那么数据库的四大特性中就不会有隔离性这个概念了,也就不会有脏读,不可重复读,幻读等各种问题了对数据库的各种并发操作,只有如下四种,写写,读读,读写和写读写-写事务A更新一条记录的时候,事务B能同时更新同一条记录吗?答案肯定是不能的,不然就会造成脏写问题,那如何避免脏写呢?答案就是加锁读-读MySQL读操.
2021-09-04 12:02:47 2003 8
mybatis-generator-core-1.3.5.jar
2019-08-15
将doc文件批量转为docx文件,用python将doc文件批量转为docx文件
2017-12-28
Spring MVC学习指南
2017-10-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人