1.了解SpringCloud吗,说一下他和SpringBoot的区别
-
Spring Boot(单兵作战):
-
主要功能:自动装配、内嵌服务器、起步依赖。
-
目标:让一个项目能独立、快速地跑起来。
-
-
Spring Cloud(集团作战):
-
主要功能:服务发现(Eureka/Nacos)、负载均衡(Ribbon/LoadBalancer)、配置中心(Config/Nacos)、断路器(Hystrix/Sentinel)、网关(Gateway)。
-
目标:提供微服务集群所需的通信、监控和容错方案。
-
-
Spring Cloud 是基于 Spring Boot 实现的。没有 Spring Boot,Spring Cloud 就无法运行。
-
在开发中,我们通常是在 Spring Boot 项目的基础上,引入 Spring Cloud 的相关 Starter 依赖,从而将其升级为一个微服务节点。
2.Spring Cloud Alibaba 了解吗?
简洁回答: “Spring Cloud Alibaba 是目前国内最主流的实现方案。它用 Nacos 替代了 Eureka/Config,用 Sentinel 替代了 Hystrix,用 Dubbo 或 Feign 做远程调用。相比原生组件,它在性能和图形化界面上做得更好。”
3.用过哪些微服务组件?

1. 注册中心与配置中心:Nacos
-
作用:解决“服务发现”和“统一配置”问题。
-
话术:
“我使用 Nacos 作为注册中心和配置中心。它能自动管理所有服务的实例信息,并支持配置热更新,让我们不再需要手动修改每个服务的配置文件。”
2. 服务间调用:OpenFeign
-
作用:解决“服务怎么找对方”的问题。
-
话术:
“远程调用我用的是 OpenFeign。它通过声明式的接口调用方式,让我们调用远程服务就像调用本地方法一样简单,底层集成了负载均衡。”
3. 负载均衡:LoadBalancer / Ribbon
-
作用:解决“请求分发给谁”的问题。
-
话术:
“我通过 LoadBalancer 实现客户端负载均衡。当一个服务有多个实例时,它能根据轮询或随机策略,将请求均匀分配到不同的服务器上。”
4. 服务网关:Spring Cloud Gateway
-
作用:解决“外部请求统一入口”的问题。
-
话术:
“网关我选用 Gateway。它是系统的唯一入口,负责路由转发、权限校验、跨域处理以及统一的限流。它能保护内部微服务不直接暴露给外部。”
5. 熔断与限流:Sentinel / Hystrix
-
作用:解决“服务雪崩”问题(自我保护)。
-
话术:
“我使用 Sentinel 进行流量控制和熔断降级。当某个下游服务出现延迟或故障时,Sentinel 会迅速切断调用(熔断),防止整个微服务系统崩溃(雪崩)。”
4.负载均衡有哪些算法?
“在实际微服务中(如使用 Ribbon 或 LoadBalancer),默认通常是轮询或随机。 如果遇到机器性能不均衡,我会配置加权轮询;如果业务对 Session 有强依赖且没做分布式 Session,则会考虑 IP Hash。 像 Nginx 这种组件,还提供了公平插件 (Fair),根据响应时间动态分配,效果会更智能。”
5.如何实现一直均衡给一个用户?
???
6.介绍一下服务熔断
- 核心定义(一句话总结)
“服务熔断是一种过载保护机制。当某个下游服务出现故障或响应过慢时,为了防止整个调用链路被拖垮,上游服务会暂时切断对该服务的调用,直接返回一个预定义的失败响应(Fallback),从而保障整个系统的可用性。”
- 为什么要熔断?(解决雪崩效应)
“在微服务链路中,如果没有熔断机制,一个服务故障可能会导致所有调用它的线程被阻塞,最终耗尽系统资源,导致整个微服务集群崩溃,这就是服务雪崩。熔断器就像保险丝,在危险时通过‘跳闸’来保全大局。”
后面老子不看了
7.介绍一下服务降级
“服务降级是指在系统高并发或局部故障的情况下,为了保证核心业务的稳定性,主动放弃非核心功能,通过返回一个简化的结果(如默认值、缓存数据或友好提示)来减轻系统负担的保护措施。”
-
被动降级:由于下游服务超时、异常或被熔断了,为了不让调用者卡死,被迫执行降级逻辑。
-
主动降级:在双 11 大促等流量高峰期,系统资源不足,开发人员主动关闭一些边缘功能(如:关闭排行榜、关闭评论、关掉非关键统计),将 CPU 和内存资源留给核心的“下单”和“支付”流程。