订单按照用户ID分片后,发生数据倾斜怎么办?
因为不同用户的订单量是不同的,一个爱好购物的小姐姐的订单量抵得上几十个老爷们 。导致一张表数据几百条,另一张表数据量千万级,这该咋整?
做冷热数据分离,基础库只存储3个月内的订单,其他的移动到历史订单库 。
这个要跟产品商量好,3个月前的订单需要单独的查询页面 。
跨库事务问题:
这个问题就更复杂了 。

文章插图
下一个订单需要调用多个服务,只能使用分布式事务 。分布式事务的实现非常复杂,常用的有以下几种解决方案:
二阶段提交面试官:准备得挺全的啊 。订单表分片后,肯定不能使用数据库自增主键做订单ID,因为无法全局唯一,有什么好的解决办法?
TCC
本地消息表
MQ事务消息
分布式事务中间件
我:又问到我手心里面,我前两天刚看完一灯写的“雪花算法”,我现场手写订单ID的生成代码吧 。
面试官:小伙子可以啊,下一面是HR面试,有薪资要求尽管提,你一定要来我们公司上班 。
总结:
关于分库分表的所有知识点,虽然很多,但都已经总结在这张图上了 。

文章插图
你解决怎么样?
推荐阅读
- 医疗保险网上怎么缴费?
- 必知必会的python测试开发笔、面试题
- 发型|最火女发有哪些?这4种少不了,修饰五官和头型还很时尚
- 红茶收购网,红茶种类大全
- 上海市|上海女大学生面试时被严重猥亵,女生讲述不堪细节,对方称自愿的
- JAVA 基础核心面试问题分析,看懂了轻
- 作为Android开发,这个知识点一定要知道,官方也改了 2 次
- 联想|联想小新Pro 16 2022官宣:全系120Hz高刷屏 最高85W性能释放
- 蜂蜜的减肥作用 竟然这么神奇
- 玉米吃了会发胖吗,竟然有如此大的功效
