Skip to content

什么是服务降级

服务降级就是服务资源是有上限的,但是这个访问上限时无限的,所以以有限的资源面对超过其上限的服务,可以关闭不重发的服务或者降级成简单的服务,来实现核心业务的正常运行。

什么是服务熔断 ​

微服务通过远程调用来进行实现,调用之间可能存在依赖关系。调用A会调用B,调用B会调用C,假如C因为响应时间过长,导致这个C 不可用,随着时间的积累,不可用的c逐渐增多,最终导致这个C系统崩溃,由于不可用的C增多,不可用的B也增多,引发B的崩溃,进而引发A的崩溃,为了防止这种一个服务崩溃导致系统整体崩溃,在服务机制中,加入熔断机制,如果一个服务不可用,就断开这个服务与其他服务的连接。

谈谈你对 Spring 的理解 ​

Spring 是一个轻量级的 Java 开发框架,核心目标是简化企业级应用开发。它通过 IoC 管理对象,通过 AOP 分离通用逻辑,再在此基础上提供事务、Web 等能力。

1. IoC 容器 ​

IoC(控制反转)指的是:对象的创建和依赖关系不再由代码自己 new,而是交给 Spring 容器管理。开发者只需声明需要什么,容器负责创建并注入,这个注入过程叫 DI(依赖注入)。

java
@Service
public class OrderService {
    private final PaymentClient paymentClient;

    // 构造器注入,容器自动传入 PaymentClient 的实例
    public OrderService(PaymentClient paymentClient) {
        this.paymentClient = paymentClient;
    }
}

好处是组件之间松耦合,替换实现、编写单元测试(注入 Mock 对象)都很方便。

2. AOP ​

AOP(面向切面编程)用来处理散落在各处的横切逻辑,比如日志、权限校验、事务、接口耗时统计。这些逻辑被抽成切面,在不修改业务代码的情况下织入到目标方法前后。底层基于动态代理(JDK 动态代理或 CGLIB)。

3. 事务管理 ​

Spring 提供了统一的事务抽象,屏蔽了 JDBC、JPA、MyBatis 等底层差异。最常用的是声明式事务,一个注解即可:

java
@Transactional(rollbackFor = Exception.class)
public void placeOrder(OrderDTO dto) { ... }

它本身就是基于 AOP 实现的。

4. Spring MVC ​

基于 Servlet 的 Web 框架,采用模型-视图-控制器架构,由 DispatcherServlet 统一分发请求到对应的 Controller。

总结 ​

理解 Spring,抓住两个核心:IoC 负责“对象怎么来”,AOP 负责“通用逻辑怎么加”。事务管理和 Spring MVC 是建立在这两者之上的能力。


📮 联系方式

微信:BuZhiCoder | QQ:1776418445 扫码添加,备注「求职」优先通过

微信二维码

基于 VitePress 搭建

🌟训练营🤖AI面试📄做简历💻刷题