最新 最热

golang源码分析:go-mysql(2)自己实现一个canel

如何用golang自己实现一个canel呢,github.com/go-mysql-org/go-mysql给我们提供了这样的能力,它已经完成mysql协议的解析,并将解析后同步从库的过程实现,加入了几个插件点,实现自己的canel只需要实现这几个插件点即可完成...

2023-09-06
1

golang源码分析:mysql同步工具gravity(1)

https://github.com/moiot/gravity是摩拜单车开源的一款mysql同步工具:它是由一系列简单插件组成的同步工具,提升了足够的可扩展性的同时,也保证了架构的简洁性。下面先分析下它的原理以及如何使用,然后分析下它的源码。...

2023-09-06
1

C#中的悲观锁和乐观锁

乐观锁的核心思想是假设在大多数情况下,资源不会发生冲突,因此允许多个用户或线程同时读取和修改资源。只有在真正发生冲突的时候才会进行冲突解决。...

2023-09-06
1

聊一聊使用Spring事物时不生效的场景

今天介绍一下Spring事物不生效的场景,事物是我们在项目中经常使用的,如果是Java的话,基本上都使用Spring的事物,不过Spring的事物如果使用不当,那么就会导致事物失效或者不回滚,最终导致数据不一致,所以很有必要去研究一下Sp...

2023-09-06
0

微服务下如何保证事务一致性

传统单机服务,保证ACID是很容易的,但随着业务量的提升,订单系统,财务系统,人员管理系统都需要拆分成独立的模块,单个服务器已经无法满足这么大的负载,所以每个独立的模块都需要安装在单独的服务器。...

2023-09-05
1

Apache Hudi Timeline:支持 ACID 事务的基础

在表格上执行的所有操作都表示为 Hudi 时间轴中的Instant(瞬间)。可以在表基本路径下找到一个名为“.hoodie”的目录,其中维护这些Instant。Hudi instant由以下组件组成:...

2023-09-04
1

【面试题精讲】SpringBoot的传播机制详解

Spring Boot 是基于 Spring 框架的快速开发框架,提供了许多便捷的特性和机制来简化开发过程。在 Spring Boot 中,事务的传播机制是通过@Transactional 注解来实现的。...

2023-09-03
0

【开发日记】MyBatis缓存

MyBatis一级缓存是指通过同一个SqlSession中执行的相同查询会被缓存起来。

2023-09-02
1

设计模式系列:经典的单例模式

在小灰的知识星球里,有一位小伙伴分享了单例模式的知识,写得非常清晰详尽。小灰把这篇干货文章分享到公众号上,希望能够帮助到大家。

2023-09-02
1

MySQL运行状态诊断工具上线啦

先向大家介绍MySQL运行状态分析诊断工具这个新玩意,其思路很简单,就是遍历 SHOW GLOBAL STATUS 和 SHOW PROCESSLIST 的结果,对可能预示着有性能瓶颈的地方做出预警。主要关注几个方面:...

2023-09-01
0