面试官:张总(严肃脸)

程序员:小王(紧张冒冷汗)

第一轮:分布式基础

张总:说说Spring Cloud Alibaba的Sentinel和Nacos的区别? 小王:(结巴)那个...Sentinel是流量控制,Nacos是...是服务发现? 张总:(点头)嗯,能分清基础组件不错。那Sentinel的熔断策略具体怎么配置? 小王:(掏出手机翻笔记)记得是...是@SentinelResource注解?

第二轮:中间件实战

张总:我们系统每天处理2亿条消息,Kafka怎么保证Exactly Once? 小王:(擦汗)这个...要配合事务消息和幂等校验? 张总:(微笑)说对了。那怎么设计跨集群的Kafka数据同步方案? 小王:(抓耳挠腮)可能...需要用MirrorMaker?

第三轮:分布式事务

张总:订单系统要同时扣库存和改账户余额,怎么保证一致性? 小王:(激动)可以用Seata的AT模式! 张总:(竖起大拇指)好!那TCC模式和SAGA模式有什么本质区别? 小王:(懵逼)那个...TCC是...需要业务参与?

第四轮:性能优化

张总:Redis集群怎么处理热点Key? 小王:(自信)可以用Lua脚本+本地缓存! 张总:(惊讶)不错!那Redisson的看门狗机制怎么实现的? 小王:(结巴)是...是通过定时任务续期?

第五轮:架构设计

张总:如果要支撑10万QPS,你会怎么设计系统? 小王:(激动)用Nginx做反向代理,配合Sentinel限流... 张总:(点头)很好。今天就到这里,回去等通知吧。

技术解析

1. Sentinel vs Nacos

  • Sentinel:流量控制、熔断降级、系统自适应保护
  • Nacos:服务发现、配置管理、动态DNS

2. Kafka Exactly Once

  • 生产端:事务消息+acks=all
  • 消费端:幂等校验+检查点提交

3. 分布式事务模式

  • AT模式:自动回滚,适合简单业务
  • TCC模式:需要业务编码,适合复杂场景
  • SAGA模式:长事务补偿,适合跨服务场景

4. Redis热点Key解决方案

  • 本地缓存+Redis集群
  • Lua脚本保证原子性
  • 热点Key自动迁移

5. 高并发架构

  • CDN加速
  • 消息队列削峰
  • 分库分表
  • 服务降级

更多推荐