SpringCloud Alibaba 最新高频面试问题总结,涵盖核心组件、原理、应用场景及最新特性
1. SpringCloud Alibaba整体认知
Q: SpringCloud Alibaba是什么?与SpringCloud的区别?SpringCloud Alibaba是阿里巴巴开源的微服务解决方案,集成了阿里生态的中间件(如Nacos、Sentinel、RocketMQ、Seata等)。与SpringCloud官方组件相比,Alibaba更适合中国互联网场景,组件更丰富,社区活跃。
2. Nacos(注册中心&配置中心)
Q: Nacos的核心功能?服务注册与发现动态配置管理支持DNS和HTTP两种服务发现模式
Q: Nacos与Eureka的区别?Nacos支持AP和CP模式切换,Eureka只支持APNacos支持配置中心,Eureka不支持Nacos支持健康检查、动态权重
Q: Nacos配置热更新原理?客户端通过长轮询/推送机制感知配置变更@RefreshScope注解实现Bean的热更新
3. Sentinel(流量控制&熔断降级)
Q: Sentinel的核心功能?流量控制(限流)熔断降级系统自适应保护实时监控
Q: Sentinel的限流策略有哪些?QPS限流线程数限流关联限流链路限流
Q: Sentinel与Hystrix的区别?Sentinel支持更丰富的限流、降级、系统自适应保护Sentinel性能更高,支持可视化控制台Hystrix已停止维护
Q: 如何自定义Sentinel的降级处理?实现BlockHandler和Fallback方法,通过注解指定
4. Seata(分布式事务)
Q: Seata的事务模式有哪些?AT模式(自动补偿,适合关系型数据库)TCC模式(Try-Confirm-Cancel,适合高一致性场景)SAGA模式(长事务,适合大业务流程)XA模式(两阶段提交)
Q: Seata的AT模式原理?拦截业务SQL,生成undo log一阶段提交前记录快照二阶段根据全局事务状态决定提交或回滚
Q: Seata与本地事务、XA事务的区别?Seata是分布式事务,支持多服务多数据源本地事务只在单服务单数据源XA事务强一致性,性能较低
5. RocketMQ(消息队列)
Q: RocketMQ的核心特性?高吞吐、低延迟支持顺序消息、事务消息、定时/延迟消息支持分布式部署
Q: RocketMQ如何保证消息可靠性?消息确认机制消息重试消息持久化
Q: RocketMQ与Kafka的区别?RocketMQ支持事务消息,Kafka不支持RocketMQ更适合金融级场景
6. Gateway(网关)
Q: SpringCloud Gateway与Zuul、Nginx的区别?Gateway基于WebFlux,异步非阻塞,性能更高支持丰富的路由断言和过滤器与Spring生态集成更紧密
Q: Gateway如何实现动态路由?结合Nacos实现路由配置的动态刷新
7. 微服务治理与监控
Q: SpringCloud Alibaba如何实现服务监控?通过Spring Boot Actuator、Sentinel Dashboard、Nacos Console等实现服务健康、流量、配置等监控
Q: 如何实现服务的灰度发布?结合Nacos的权重路由、Gateway的自定义断言实现灰度流量分配
8. 最新特性与趋势
Q: SpringCloud Alibaba 2023/2024的新特性?更好地支持Spring Boot 3.xNacos 2.x支持多租户、权限控制Sentinel支持更多自定义扩展点Seata性能优化、支持更多数据库更完善的云原生支持(如K8s集成)
9. 实践与架构设计
Q: 微服务拆分的原则?单一职责、高内聚低耦合、业务边界清晰
Q: 如何保证微服务间的幂等性?唯一请求ID、幂等表、分布式锁
Q: 微服务架构下如何做链路追踪?集成Sleuth、SkyWalking、Zipkin等
10. 常见问题与排查
Q: Nacos服务列表不刷新怎么办?检查客户端版本、网络连通性、心跳机制
Q: Sentinel限流不生效的缘由?规则未正确加载、流控模式配置错误、控制台未连接
Q: Seata事务回滚失败如何排查?检查undo_log表、全局事务状态、网络通信
提议:重点掌握Nacos、Sentinel、Seata的原理与应用场景熟悉各组件的配置、常见问题及排查思路关注SpringCloud Alibaba与Spring Boot 3.x的兼容性和云原生趋势
—————————————————————————————————————-
如需源码分析、实战案例或详细讲解教程,欢迎留言说明!