Spring Cloud 官方微服务栈(Gateway/OpenFeign/LoadBalancer/Config/Bus)

共 21 题
#

1. Spring Cloud 官方栈与 Spring Cloud Alibaba 的整体差异,Netflix 组件停维后的生态走向

A 两者完全一致
B Netflix 组件仍维护
C 官方栈用 LoadBalancer/Gateway 等标准组件,Alibaba 用 Nacos/Sentinel 一体化治理,常组合使用 ✓ 正确答案
D Alibaba 无治理
#

2. Spring Cloud Gateway 的请求路由核心,Route/Predicate/Filter 模型与 RouteDefinition 动态刷新

A Route 只有目标 URI
B 路由无法动态刷新
C Route 由目标 URI + Predicate + Filter 组成,RouteDefinition 可配置中心动态刷新 ✓ 正确答案
D Predicate 是过滤器
#

3. Spring Cloud LoadBalancer 的负载均衡 SPI,ServiceInstanceListSupplier 与自定义权重/亲和性

A supplier 只取实例
B supplier 与负载均衡无关
C 无法自定义权重
D supplier 是 SPI 扩展点,权重/亲和性/健康检查通过 supplier 链实现,可自定义 ✓ 正确答案
#

4. OpenFeign 的声明式客户端,FeignClient 注解、编解码器与契约(contract)扩展

A @FeignClient 声明接口,Encoder/Decoder 管序列化,Contract 管注解映射,可扩展 ✓ 正确答案
B @FeignClient 自动映射
C 编解码器固定
D 无法扩展 contract
#

5. Gateway 的限流,RequestRateLimiter 过滤器与 Redis 令牌桶,以及 KeyResolver 自定义限流维度

A 限流在单机内存
B KeyResolver 管令牌
C RequestRateLimiter 用 Redis 令牌桶分布式限流,KeyResolver 自定义限流维度 ✓ 正确答案
D 无法自定义维度
#

6. Spring Cloud Config Server 的配置源(Git/文件系统/Vault)与配置刷新(@RefreshScope + Bus)

A 配置源只有 Git
B 刷新只能单实例
C Config Server 支持 Git/文件/Vault,@RefreshScope + Bus 实现动态刷新 ✓ 正确答案
D Bus 不广播
#

7. Spring Cloud Bus(Kafka/RabbitMQ)如何广播配置刷新事件与失败重试

A Bus 直接调用
B 刷新无需重试
C 事件不广播
D Bus 通过 Kafka/RabbitMQ 广播 RefreshRemoteApplicationEvent 到所有实例刷新配置 ✓ 正确答案
#

8. OpenFeign 的请求拦截器(RequestInterceptor)与统一 Header/鉴权透传

A 拦截器只能一次
B 无法注入 Header
C RequestInterceptor 统一注入 Header/鉴权/链路,透传到下游 ✓ 正确答案
D 拦截器无效
#

9. OpenFeign 与 Sentinel/Resilience4j 的熔断集成(feign.circuitbreaker.enabled)

A Feign 默认熔断
B feign.circuitbreaker.enabled=true 启用,Feign 调用纳入熔断 + fallback 降级 ✓ 正确答案
C 无法接熔断
D 熔断无需配置
#

10. Spring Cloud Gateway 全局过滤器与局部过滤器的执行顺序(Ordered)

A 顺序固定
B 全局与局部过滤器按 Order 排序执行,order 越小越先 ✓ 正确答案
C 全局过滤器无顺序
D 局部过滤器最后
#

11. Gateway 的 WebSocket/SSE 代理与长连接超时配置

A WebSocket 处理 Upgrade,SSE 是流式响应,需配置长连接超时避免中断 ✓ 正确答案
B SSE 是短连接
C 长连接无超时
D WebSocket 无需配置
#

12. LoadBalancer 与 Nacos/Eureka 服务发现的数据源适配(DiscoveryClientServiceInstanceListSupplier)

A 每种注册中心单独适配
B LoadBalancer 无法适配
C DiscoveryClientServiceInstanceListSupplier 通过 DiscoveryClient 统一获取实例,屏蔽 Nacos/Eureka 差异 ✓ 正确答案
D DiscoveryClient 无抽象
#

13. Sleuth 退役后 Micrometer Tracing + OpenTelemetry 在官方栈中的链路透传

A Sleuth 仍维护
B 透传需手动
C 无链路追踪
D Sleuth 退役,Micrometer Tracing + OTel 统一追踪,组件自动透传 TraceID ✓ 正确答案
#

14. Spring Cloud Stream 的 binder 抽象与函数式编程模型(Function/Kafka binder)

A binder 只支持 Kafka
B binder 抽象统一消息中间件,函数式模型(Function)定义处理,Kafka binder 绑定 ✓ 正确答案
C 函数式模型是注解
D 无法解耦中间件
#

15. OpenFeign 的重试与超时,默认不重试的坑、连接/读取超时与重试放大

A Feign 默认重试
B Feign 默认不重试需显式 Retryer,超时分连接/读取,避免多层重试放大 ✓ 正确答案
C 超时无需配置
D 重试无放大
#

16. Gateway 基于 WebFlux/Netty 的线程模型,事件循环线程与业务线程池配置对网关调优的意义

A 事件循环线程处理 IO,避免阻塞事件循环是调优关键,合理设置线程数 ✓ 正确答案
B 有独立业务线程池
C 事件循环线程越多越好
D 阻塞无害
#

17. Config Server 的加密,对称/非对称密钥、{cipher} 前缀与解密时机,以及密钥管理实践

A {cipher} 标记密文,Config Server 解密,非对称更安全,密钥集中管理 ✓ 正确答案
B {cipher} 是明文
C 只能对称
D 密钥存配置
#

18. Feign 的性能优化,HTTP/2、连接池(Apache HC5/OkHttp)与日志级别

A 日志 FULL 最优
B HTTP/2 无收益
C 连接池无益
D HTTP/2 + 连接池复用 + 合理日志级别(生产用 BASIC 控开销)提升性能 ✓ 正确答案
#

19. Spring Cloud 官方栈的 API 网关与 BFF 模式,按客户端拆分的路由组织

A 所有客户端一个网关
B 无法按客户端拆分
C BFF 按客户端拆分网关/路由,适配各客户端需求 ✓ 正确答案
D BFF 只用于移动端
#

20. Bus 的远程事件机制,RefreshRemoteApplicationEvent 如何跨服务传播,自定义远程事件需满足的条件

A 远程事件直接调用
B 无需扫描
C 事件不传播
D RefreshRemoteApplicationEvent 通过 Bus 消息传播,自定义事件需继承 RemoteApplicationEvent 并扫描 ✓ 正确答案
#

21. Gateway 的跨域 CORS,全局 CORS 与路由级 CORS 的合并规则,以及预检请求的处理

A 全局与路由级 CORS 合并(路由级覆盖),预检 OPTIONS 由 globalcors 处理 ✓ 正确答案
B 只有全局 CORS
C 预检无需处理
D 路由级覆盖全局