什么是服务降级
服务降级就是服务资源是有上限的,但是这个访问上限时无限的,所以以有限的资源面对超过其上限的服务,可以关闭不重发的服务或者降级成简单的服务,来实现核心业务的正常运行。
什么是服务熔断
微服务通过远程调用来进行实现,调用之间可能存在依赖关系。调用A会调用B,调用B会调用C,假如C因为响应时间过长,导致这个C 不可用,随着时间的积累,不可用的c逐渐增多,最终导致这个C系统崩溃,由于不可用的C增多,不可用的B也增多,引发B的崩溃,进而引发A的崩溃,为了防止这种一个服务崩溃导致系统整体崩溃,在服务机制中,加入熔断机制,如果一个服务不可用,就断开这个服务与其他服务的连接。
谈谈你对 Spring 的理解
Spring 是一个轻量级的 Java 开发框架,核心目标是简化企业级应用开发。它通过 IoC 管理对象,通过 AOP 分离通用逻辑,再在此基础上提供事务、Web 等能力。
1. IoC 容器
IoC(控制反转)指的是:对象的创建和依赖关系不再由代码自己 new,而是交给 Spring 容器管理。开发者只需声明需要什么,容器负责创建并注入,这个注入过程叫 DI(依赖注入)。
@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 等底层差异。最常用的是声明式事务,一个注解即可:
@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 扫码添加,备注「求职」优先通过
