Yihui’s Blog

文章与笔记

关于前端、工程与日常思考的记录。找到一个主题,开始阅读。

783 篇文章

如何保证订单、库存、支付三个服务的数据一致性?

日期:2026-07-12 标签:#面试 #八股 #后端 #电商 #分布式事务 #系统设计 一句话答案 以订单状态机编排 Saga:订单本地落单并可靠发布事件,库存幂等预占,支付创建/确认,成功后确认库存;失败或超时按状态补偿释放库存与关闭/退款支付。 面试口语版 我会用 Saga 编排而非跨三个库强 2PC。订…

阅读全文

如何设计灰度发布系统?如何逐步切换流量?

日期:2026-07-12 标签:#面试 #八股 #后端 #灰度发布 #系统设计 #场景题 一句话答案 灰度系统由版本部署、流量规则、配置控制、指标判定和自动回滚组成,按内部用户、标签、百分比逐级放量,并保持同一用户粘性和全链路版本透传。 面试口语版 先并行部署稳定版和新版本,实例带 version 标签。控制面…

阅读全文

如何实现分布式事务补偿?补偿失败怎么办?

日期:2026-07-12 标签:#面试 #八股 #后端 #分布式事务 #补偿 #系统设计 一句话答案 每个正向步骤必须预先定义可幂等、可重试、可审计的反向业务动作;补偿由持久状态机驱动,失败分类重试,超过阈值进入对账和人工处理,不能静默结束。 面试口语版 补偿不是数据库 rollback,而是新的业务事务。例如…

阅读全文

微服务配置中心如何设计?配置变更后如何实时通知服务?

日期:2026-07-12 标签:#面试 #八股 #后端 #配置中心 #微服务 #系统设计 一句话答案 配置中心由高可用存储、版本模型、权限审计、发布控制和订阅通知组成;客户端长轮询/长连接监听变更,拉取完整版本并原子应用,失败继续使用最后有效配置。 面试口语版 配置按 namespace、应用、环境、集群和 k…

阅读全文

如何设计电商订单数据同步到数仓的方案,保证准确和高性能?

日期:2026-07-12 标签:#面试 #八股 #后端 #数据同步 #数仓 #系统设计 一句话答案 以数据库 CDC 捕获订单变更,经持久消息总线和流处理转换后写入数仓明细层,通过主键版本幂等、事务边界、检查点、对账和离线重算兼顾实时性、性能与准确性。 面试口语版 订单库开启 binlog,CDC 读取一致快照…

阅读全文

如何设计高可用数据同步系统?需要哪些容错机制?

日期:2026-07-12 标签:#面试 #八股 #后端 #数据同步 #高可用 #系统设计 一句话答案 通过无单点部署、持久消息、租约选主、检查点、幂等写入、重试死信、背压限流、对账补数和灾备演练,使任一组件故障后可恢复且不破坏数据正确性。 面试口语版 采集器多实例候选但同一分片只允许一个 Leader,通过租约…

阅读全文

双十一订单暴增,实时同步消息堆积如何应对?

日期:2026-07-12 标签:#面试 #八股 #后端 #数据同步 #消息堆积 #场景题 一句话答案 先保护源端和下游并判断瓶颈,通过提前扩分区/消费者、批量压缩、优化 Sink、热点拆分和非关键链路降级提升吞吐,恢复时限速追赶并保证幂等。 面试口语版 先看生产速率、各分区 Lag、消费处理时间、checkpo…

阅读全文

MQ 数据同步中订单状态更新顺序错乱,如何解决?

日期:2026-07-12 标签:#面试 #八股 #后端 #消息队列 #顺序消息 #场景题 一句话答案 同一订单固定路由到同一分区并串行消费,同时为事件携带单调版本/状态机校验;分区只能改善到达顺序,版本校验才防重试和多源导致旧状态覆盖新状态。 面试口语版 生产端以 orderId 作为分区 Key,让同一订单事…

阅读全文