没有合适的资源?快使用搜索试试~ 我知道了~
111111112222
需积分: 0 0 下载量 189 浏览量
2024-04-28
20:22:23
上传
评论
收藏 39.72MB PDF 举报
温馨提示
试读
261页
111111112222
资源推荐
资源详情
资源评论
1,有一张工商局的参数表
如,行业,被哪个行政单位管,行政区划等等
这张表就存在mysql 并做了redis缓存
我们修改了这个操作这个表的功能的部分代码 在里面加了我们redis延时双删的逻辑
session redis
判断该用户username是否已存在redis中
如果该用户在redis中存在,判断其sessionID和当前Session是否相同
/如果不同,则提示错误
我们当时采用的阿里的canal组件实现数据同步:不需要更改业务代码,部署一个canal服务。canal服
务把自己伪装成mysql的一个从节点,当mysql数据更新以后,canal会读取binlog数据,然后在通过
canal的客户端获取到数据,更新缓存即可。
2,法人代表信息检查,包括公安查证,征信黑名单,法院处罚,行政处罚,工商黑名单等
3,检查注册商户信息 , 比如名称是否可用检查 通过我们约定好的一个接口的标识
这两步 具体穿了什么参数
Confirm机制 异步回调
queue return机制
4,用户数据加密传输到工商局
/ 并且发送短信?
事务? 要不要写事务? 如果是事务 mysql什么情况下会失败 又怎么处理? 应该不用 短信通知没那么重
要
存mysql/发mq 返回结果 失败存mysql 定时任务跑批
5,有一个进行中的入口 定时或者手工刷新去工商局查上送的数据是否通过业务办理进度
mq发过去 核心返回一个确认信息收到的返回结果
解决缓存与数据不一致、redis session . mq
分布式锁高并发优化、服务降级容错设计、数据库性能优化、分布式事务
系统高可用。多级缓存设计、分库分表难点、
基础概念:事务ACID
A:原子性
C:一致性
隔离级别 脏读 不可重复读 幻读
读未提交(read uncommitted) ○ ○ ○
读已提交(read committed) × ○ ○
可重复读(repeatable read) × × innodb×
串行化(serializable) × × ×
I:隔离性
隔离级别(数据默认的隔离级别为可重复读)
在MySQL中隔离性是通过MVCC多版本并发控制机制来保证的,它是在事务隔离级别中最最重要
的一个概念,那它是怎么实现的呢?
多版本并发控制:读取数据时通过一种类似快照的方式将数据保存下来,这样读锁和写锁就不冲突了,
不同事务的session会看到自己特定版本的数据,也就是版本链,通过版本链的概念来达到读和写能够
并发进行。
MVCC只在READ COMMITTED(已提交读)和REPEATABLE READ(可重复读)两个隔离级别下工作,
其他两个隔离级别和MVCC不兼容,这是因为READ UNCOMMITTED(读未提交)总是读取最新的数据
行,而不是符合当前事务版本的数据行,而ZERIALIZABLE(串行化)则会对所有读取的行都加锁,
MVCC就没有意义了。
在MySQL的InnoDB下,聚簇索引记录中有两个必要的隐藏列:
trx_id:它用来存储每次对某条聚簇索引记录进行修改时的事务ID,这个事务ID由MySQL分配
roll_pointer:每次对哪条聚簇索引记录有修改的时候,都会把老版本写入undo日志中,这个
roll_pointer就是存了一个指针,它指向这条聚簇索引记录的上一个版本的位置,通过它来获得上一个
版本的记录信息(注意插入操作的undo日志没有这个属性,因为它没有老版本)
OK,理解了这些概念,咱们再来看看MVCC——
已提交读和可重复读的区别就在于它们生成ReadView的策略不同。
MVCC就是版本链+ReadView所组成的这么一种概念,当我们掌握了版本链和ReadView这两个概念,
也就明白了MVCC,我们接着来看看这个ReadView。
剩余260页未读,继续阅读
资源评论
lisixu618
- 粉丝: 9
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功