摘要: 其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么? 面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用 MQ 可能会很麻烦,但是你现在用了 MQ 之后带给了你很多的好处。 先说一下消息队列常见 阅读全文
posted @ 2021-02-09 17:43 姚春辉 阅读(77) 评论(0) 推荐(0)
摘要: 我的理解:2PC、3PC还有TCC都蛮相似的。3PC大致是把2PC的第一阶段拆分成了两个阶段,而TCC我感觉是把2PC的第二阶段拆分成了两个阶段。 一、概念 1、概念 TCC又称补偿事务。其核心思想是:"针对每个操作都要注册一个与其对应的确认和补偿(撤销操作)"。它分为三个操作: 1、Try阶段:主 阅读全文
posted @ 2021-02-09 17:41 姚春辉 阅读(357) 评论(0) 推荐(0)
摘要: 分布式事物基本理论:基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题。 分布式事物常见解决方案: 2PC两段提交协议 3PC三段提交协议(弥补两端提交协议缺点) TCC或者GTS(阿里) 消息中间件最终一致性 使用LCN解决分布式事物,理念“LCN并不生产事务, 阅读全文
posted @ 2021-02-09 14:53 姚春辉 阅读(518) 评论(0) 推荐(0)
摘要: 简述 什么时候没用 1.有or必全有索引;2.复合索引未用左列字段;3.like以%开头;4.需要类型转换;5.where中索引列有运算;6.where中索引列使用了函数;7.如果mysql觉得全表扫描更快时(数据少); 什么时没必要用 1.唯一性差;2.频繁更新的字段不用(更新索引消耗);3.wh 阅读全文
posted @ 2021-02-09 11:12 姚春辉 阅读(2671) 评论(0) 推荐(0)
摘要: 创建表 create table test( a int , b int, c int, d int, key index_abc(a,b,c) )engine=InnoDB default charset=utf8; 插入 10000 条数据 DROP PROCEDURE IF EXISTS pr 阅读全文
posted @ 2021-02-09 10:57 姚春辉 阅读(548) 评论(0) 推荐(0)