Skip to content

微服务面试题 ​

系统整理微服务架构相关的面试题,涵盖SpringCloud、Dubbo等微服务框架,包含详细的答案和解析。

📋 题目分类 ​

🎯 一、SpringCloud ​

1. SpringCloud的核心组件有哪些? ​

答案:

SpringCloud核心组件:

  1. Eureka/Nacos

    • 服务注册与发现
  2. Config Server/Nacos Config

    • 配置中心
  3. Gateway/Zuul

    • API网关
  4. Hystrix/Sentinel

    • 熔断降级
  5. Ribbon/LoadBalancer

    • 负载均衡
  6. Feign/OpenFeign

    • 服务调用

2. Eureka的服务注册和发现流程? ​

答案:

服务注册流程:

  1. 服务提供者启动
  2. 向Eureka Server发送注册请求
  3. Eureka Server将服务信息保存到注册表
  4. 定期发送心跳续约

服务发现流程:

  1. 服务消费者启动
  2. 向Eureka Server订阅服务列表
  3. Eureka Server返回服务列表
  4. 服务列表变更时主动推送更新

3. SpringCloud Gateway的工作原理? ​

答案:

Gateway工作原理:

  1. 路由匹配

    • 根据路由规则匹配请求
  2. 过滤器链

    • 执行全局过滤器和局部过滤器
  3. 负载均衡

    • 根据负载均衡策略选择服务实例
  4. 请求转发

    • 转发到目标服务
  5. 响应处理

    • 处理响应并返回

🎯 二、Dubbo ​

4. Dubbo的架构模型? ​

答案:

Dubbo架构模型:

Consumer --> Registry --> Provider
   |                          |
   +----------<----------------+

核心角色:

  • Provider:服务提供者
  • Consumer:服务消费者
  • Registry:注册中心
  • Monitor:监控中心
  • Container:容器

5. Dubbo的负载均衡策略有哪些? ​

答案:

Dubbo负载均衡策略:

  1. RandomLoadBalance:随机算法(默认)
  2. RoundRobinLoadBalance:轮询算法
  3. LeastActiveLoadBalance:最少活跃调用算法
  4. ConsistentHashLoadBalance:一致性Hash算法

6. Dubbo如何实现服务治理? ​

答案:

Dubbo服务治理功能:

  1. 服务注册发现

    • 服务自动注册和发现
  2. 负载均衡

    • 多种负载均衡算法
  3. 容错机制

    • Failover、Failfast、Failsafe等
  4. 限流降级

    • 流量控制和降级策略
  5. 监控统计

    • 调用统计和性能监控

🎯 三、分布式事务 ​

7. 分布式事务的解决方案有哪些? ​

答案:

分布式事务解决方案:

  1. 2PC(两阶段提交)

    • 协调者协调多个参与者
    • 存在单点故障风险
  2. 3PC(三阶段提交)

    • 增加超时机制
    • 减少阻塞时间
  3. TCC(Try-Confirm-Cancel)

    • 业务层面实现
    • 需要业务代码支持
  4. Saga模式

    • 长事务解决方案
    • 通过补偿机制保证最终一致性
  5. Seata

    • 分布式事务中间件
    • 支持AT、TCC、Saga模式

📖 学习资源 ​

视频教程 ​

书籍推荐 ​

  • 《Spring Cloud微服务实战》 - 翟永超
  • 《深度剖析Apache Dubbo核心技术内幕》 - 华仔

网站资源 ​

✅ 学习检查清单 ​

  • [ ] 已理解微服务架构原理
  • [ ] 已掌握SpringCloud核心组件
  • [ ] 已理解Dubbo工作原理
  • [ ] 已了解分布式事务解决方案
  • [ ] 已练习常见微服务面试题
  • [ ] 已总结答题技巧

上一章节:SpringBoot面试题
下一章节:中间件面试题
返回目录:面试题