logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

SchedulerLock 分布式锁 原理

背景使用@SchedulerLock可以实现比较轻量级的简单的定时任务,也可以实现分布式锁,那具体的原理是啥?一探究竟不熟悉的同学可以先看一下用法:https://www.baeldung.com/shedlock-spring大概就是定义一个数据表注意这里的name是primary key,是不可重复的。利用了primary key的这个特性,实现了锁的抢占。细节下面会介绍然后加注解实现:看源码

#java#mysql
mybatis uuid主键 auto_increment列 回显id keyGenerator

背景使用tk.mybatis,原来线上用的uuid主键,业务需求新增一个自增的索引列之后,调用insert插入方法,会将传入的对象的id回显;期望的是回显主键uuid,但是实际上回显的是自增id参考作者的文档https://github.com/mybatis-book/book/issues/45单步调试从insert开始一步一步地往里走应该就是这个后置处理的时候会回写id回头看发现是这里产生的

#mybatis
sentinel:如何自定义mysql数据源?mybatis

背景反复阅读sentinel的官方文档,发现:1、默认情况下sentinel的限流规则是写在内存里的,一旦重启,规则就会丢失2、限流规则的持久化,提供了以下几个推荐的方式,主要分为推和拉模式:公司一般不会直接暴露redis、ZooKeeper等给业务同学使用,看了下redis的demo是需要输入用户名密码等,无法与公司的系统融合再考虑到使用mysql相对比较简单,容易理解,于是选择使用拉模式定时从

#sentinel#mysql
到底了