2月13日java假期学习读书笔记

一、学习目标
了解服务降级(Fallback)和重试机制(Retry)的基本概念。
掌握如何在Spring Cloud微服务架构中实现服务降级和重试。
学习如何使用Resilience4j实现降级和重试功能。
通过实际练习,构建一个具有容错能力的微服务架构。
理解容错机制在微服务架构中的重要性。
二、学习内容
(一)服务降级(Fallback)

  1. 服务降级的概念
    服务降级是指当某个服务不可用或响应时间过长时,返回一个默认值或降级逻辑,以避免调用方等待。
    降级可以减少资源消耗,提高系统的可用性。
  2. 实现服务降级
    使用Resilience4j:
    添加依赖:
    xml
io.github.resilience4j resilience4j-spring-boot2 配置降级逻辑: java

@Service
public class UserService {
@CircuitBreaker(name = "user-service", fallbackMethod = "fallback")
public String getUserInfo() {
// 模拟调用外部服务
return "User Info";
}

public String fallback(Exception e) {
    return "Fallback: User Service is down";
}

}
(二)重试机制(Retry)

  1. 重试机制的概念
    重试机制允许在调用失败时自动重试,提高调用的成功率。
    它通常用于处理临时性故障(如网络问题)。
  2. 实现重试机制
    使用Resilience4j:
    添加依赖:
    xml
io.github.resilience4j resilience4j-spring-boot2 配置重试逻辑: java

@Service
public class UserService {
@Retry(name = "user-service", fallbackMethod = "fallback")
public String getUserInfo() {
// 模拟调用外部服务
return "User Info";
}

public String fallback(Exception e) {
    return "Fallback: User Service is down";
}

}
配置文件:
properties

resilience4j.retry.instances.user-service.maxAttempt=3
resilience4j.retry.instances.user-service.waitDuration=1s
(三)实际练习:构建一个具有容错能力的微服务架构

  1. 创建微服务项目
    使用Spring Initializr生成一个Spring Boot项目,添加Spring Web、Spring Cloud Circuit Breaker和Resilience4j依赖。
  2. 配置服务降级和重试
    在application.properties中配置降级和重试规则。
    使用@CircuitBreaker和@Retry注解保护服务调用。
  3. 运行和测试
    启动微服务,模拟外部服务故障,验证降级和重试功能是否生效。
    检查日志确认是否触发了降级和重试逻辑。
    三、学习心得
    服务降级的作用
    服务降级可以减少资源消耗,提高系统的可用性。
    它允许在服务不可用时返回默认值或降级逻辑,避免调用方等待。
    重试机制的重要性
    重试机制可以提高调用的成功率,尤其适用于处理临时性故障。
    它允许在调用失败时自动重试,减少人工干预。
    Resilience4j的优势
    Resilience4j提供了灵活的容错功能,支持降级、重试、限流等多种机制。
    它与Spring Boot集成良好,支持注解和编程式配置。
    实践的重要性
    通过实际构建和测试容错功能,我更好地理解了服务降级和重试机制的使用方法。
    实践可以帮助快速发现和解决问题,加深对知识点的理解。
posted @ 2025-02-20 00:10  头发少的文不识  阅读(17)  评论(0)    收藏  举报