微服务面试题
系统整理微服务架构相关的面试题,涵盖SpringCloud、Dubbo等微服务框架,包含详细的答案和解析。
📋 题目分类
🎯 一、SpringCloud
1. SpringCloud的核心组件有哪些?
答案:
SpringCloud核心组件:
Eureka/Nacos
- 服务注册与发现
Config Server/Nacos Config
- 配置中心
Gateway/Zuul
- API网关
Hystrix/Sentinel
- 熔断降级
Ribbon/LoadBalancer
- 负载均衡
Feign/OpenFeign
- 服务调用
2. Eureka的服务注册和发现流程?
答案:
服务注册流程:
- 服务提供者启动
- 向Eureka Server发送注册请求
- Eureka Server将服务信息保存到注册表
- 定期发送心跳续约
服务发现流程:
- 服务消费者启动
- 向Eureka Server订阅服务列表
- Eureka Server返回服务列表
- 服务列表变更时主动推送更新
3. SpringCloud Gateway的工作原理?
答案:
Gateway工作原理:
路由匹配
- 根据路由规则匹配请求
过滤器链
- 执行全局过滤器和局部过滤器
负载均衡
- 根据负载均衡策略选择服务实例
请求转发
- 转发到目标服务
响应处理
- 处理响应并返回
🎯 二、Dubbo
4. Dubbo的架构模型?
答案:
Dubbo架构模型:
Consumer --> Registry --> Provider
| |
+----------<----------------+核心角色:
- Provider:服务提供者
- Consumer:服务消费者
- Registry:注册中心
- Monitor:监控中心
- Container:容器
5. Dubbo的负载均衡策略有哪些?
答案:
Dubbo负载均衡策略:
- RandomLoadBalance:随机算法(默认)
- RoundRobinLoadBalance:轮询算法
- LeastActiveLoadBalance:最少活跃调用算法
- ConsistentHashLoadBalance:一致性Hash算法
6. Dubbo如何实现服务治理?
答案:
Dubbo服务治理功能:
服务注册发现
- 服务自动注册和发现
负载均衡
- 多种负载均衡算法
容错机制
- Failover、Failfast、Failsafe等
限流降级
- 流量控制和降级策略
监控统计
- 调用统计和性能监控
🎯 三、分布式事务
7. 分布式事务的解决方案有哪些?
答案:
分布式事务解决方案:
2PC(两阶段提交)
- 协调者协调多个参与者
- 存在单点故障风险
3PC(三阶段提交)
- 增加超时机制
- 减少阻塞时间
TCC(Try-Confirm-Cancel)
- 业务层面实现
- 需要业务代码支持
Saga模式
- 长事务解决方案
- 通过补偿机制保证最终一致性
Seata
- 分布式事务中间件
- 支持AT、TCC、Saga模式
📖 学习资源
视频教程
书籍推荐
- 《Spring Cloud微服务实战》 - 翟永超
- 《深度剖析Apache Dubbo核心技术内幕》 - 华仔
网站资源
✅ 学习检查清单
- [ ] 已理解微服务架构原理
- [ ] 已掌握SpringCloud核心组件
- [ ] 已理解Dubbo工作原理
- [ ] 已了解分布式事务解决方案
- [ ] 已练习常见微服务面试题
- [ ] 已总结答题技巧
上一章节:SpringBoot面试题
下一章节:中间件面试题
返回目录:面试题