Spring Cloud面试考点
Spring Cloud面试的核心考点主要集中在微服务架构原理、核心组件功能及实践解决方案。以下是高频问题分类整理:
一、基础概念与核心组件
-
什么是Spring Cloud?
基于Spring Boot的分布式系统工具集,提供服务注册与发现、配置管理、负载均衡等服务治理功能,简化微服务开发。 -
核心组件分类
- 传统Spring Cloud组件:Eureka(注册中心)、Ribbon(负载均衡)、Feign(服务调用)、Hystrix(熔断)、Zuul/Gateway(网关)。
- Spring Cloud Alibaba生态:Nacos(注册/配置中心)、Sentinel(流量控制)、Seata(分布式事务)。
-
服务注册与发现:
- 工作原理:服务将信息注册到中心(如Eureka/Nacos),消费者动态获取实例地址。
- Nacos与Eureka区别:Nacos支持CP/AP模式切换,提供配置管理功能;Eureka仅AP模式,专注于服务注册。
二、技术实现与解决方案
-
负载均衡机制
- Ribbon客户端策略:轮询、随机、加权响应时间等,需手动配置调用目标。
- Feign基于注解:集成Ribbon,通过接口声明式调用,简化代码。
-
服务雪崩应对
- 熔断(Hystrix/Sentinel):快速失败避免连锁故障。
- 降级:返回预设结果保障核心功能。
-
配置中心原理(Nacos)
- 动态更新:客户端监听配置变更,通过长轮询或HTTP长连接实现实时刷新。
-
微服务监控工具
- 链路追踪:SkyWalking实现分布式请求跟踪。
- 日志采集:ELK(Elasticsearch+Logstash+Kibana)集中管理日志。
三、高频进阶问题
- 分布式事务:Seata的AT/TCC模式解决数据一致性。
- 网关过滤逻辑:Spring Cloud Gateway通过断言(Predicate)和过滤器(Filter)实现路由与限流。
- RPC与HTTP区别:RPC效率更高,但耦合性强;HTTP更灵活,适合跨语言。