自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多并发测试代码

多并发测试插入数据库public void testSession() { log.info("testSession start"); var session = Session.builder() .username("alex.alex") .eventId(110) .eventType(10) .expireTime(LocalDateTime.now().plusHours(1))

2021-09-27 23:11:37 146

原创 MySQL日志双一配置分析实战

mysql双一配配置分析mysql双一配置主要是binlog和redolog的落盘时间的binlog的write 和 fsync 的时机,是由参数 sync_binlog 控制的:sync_binlog=0的时候,表示每次提交事务都只 write,不 fsync;sync_binlog=1的时候,表示每次提交事务都会执行 fsync;sync_binlog=N(N>1) 的时候,表示每次提交事务都 write,但累积 N 个事务后才 fsync。write是指将日志文件写入到文件系统的pag

2021-01-24 23:35:31 557

原创 MySQL使用frm文件和ibd文件恢复数据的方法(实战)

概要本教程模拟数据库突然宕机,重启失败,而且没有binlog的前提下通过MySQL中的frm文件和idb文件恢复表中的数据,MySQL版本5.7.26准备数据创建数据库,test01CREATE DATABASE test01 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;创建数据,在数据库test01创建测试数据表t,并插入100000条测试数据use test01;CREATE TABLE `t` ( `id` int(11) NO

2021-01-24 17:02:49 494

原创 基于Redis+Lua实现分布式限流组件

配置redis@Configurationpublic class RedisConfig { // 如果本地也配置了StringRedisTemplate,可能会产生冲突 // 可以指定@Primary,或者指定加载特定的@Qualifier @Bean public RedisTemplate<String, String> redisTemplate( RedisConnectionFactory factory) {

2021-01-24 17:01:18 217

原创 基于zookeeper实现分布式锁

zk有两种数据节点,一种时持久节点另一种时瞬时节点,有序,瞬时节点不可再有子节点,会话结束后瞬时节点自动消失zookeeper的观察器可以设置观察器的三个方法:getData();getChildren();exist();数据节点发生变化,发送给客户端观察器只能监控一次,再监控需要重新设置zk分布式锁的实现原理利用zookeeper的瞬时有序节点的特性多线程并发创建瞬时节点时得到有序的序列序号最小的线程获得锁其他的线程则监听自己序号的前一个序号前一个线程执行完成,删除自己序号的节点

2021-01-24 17:00:09 85

原创 使用redis实现分布式锁

使用redis实现分布式锁的主要原理是利用redis的原子性,有多个线程进行并发时只有一个线程可以设置成功设置成功即获得了锁如果出现异常,过了过期时间就直接释放释放锁采用delete命令释放锁之前要校验参数值,相同才能释放@Slf4jpublic class RedisLock implements AutoCloseable{ private RedisTemplate redisTemplate; private String key; private String

2021-01-24 16:58:41 170

原创 分布式事务-基于XA协议的两阶段提交

分布式事务-基于XA协议的两阶段提交XA协议是由X/OPen组织提出的分布式规范,mysql5.7以上版本均支持XA协议由一个事务管理器(TM)和多个资源管理器组成(RM)提交分为两个阶段 prepare和commit,保证事务的强一致性缺点:效率比较低 比本地事务的相差10倍以上在config中配置两个XA数据源,配置@MapperScan扫描不同的包// ConfigDB1@Configuration@MapperScan(value = "com.alex.demo.db1.dao",

2021-01-24 16:23:38 429

原创 spring-boot多数据源配置

spring-boot多数据源配置在config中配置两个数据源,配置@MapperScan扫描不同的包// ConfigDB1@Configuration@MapperScan(value = "com.alex.demo.db1.dao",sqlSessionFactoryRef = "db1SqlSessionFactoryBean")public class ConfigDB1 { @Primary // 表示这个数据源是默认数据源, 这个注解必须要加,因为不加的话spring将分

2021-01-24 16:20:50 137

空空如也

空空如也

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

TA关注的人

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