1月30日java假期学习读书笔记

一、学习目标
了解Spring Cloud Gateway的基本概念和使用方法。
掌握如何在Spring Boot中集成Spring Cloud Gateway实现API网关功能。
了解断路器模式的作用和应用场景。
学习如何在Spring Boot中集成Resilience4j实现断路器功能。
通过实际练习,构建一个简单的API网关和断路器示例。
二、学习内容
(一)Spring Cloud Gateway基础

  1. API网关的概念
    API网关是微服务架构中的一个关键组件,作为系统的统一入口,负责请求路由、负载均衡、认证授权等功能。
    它可以简化客户端与服务之间的通信,隐藏后端服务的复杂性。
  2. Spring Cloud Gateway简介
    Spring Cloud Gateway是基于Spring WebFlux框架构建的API网关。
    它支持动态路由、熔断、限流等功能。
  3. 搭建Spring Cloud Gateway
    添加依赖:
    xml
org.springframework.cloud spring-cloud-starter-gateway 配置路由规则: properties 复制 spring.cloud.gateway.routes[0].id=user-service spring.cloud.gateway.routes[0].uri=http://localhost:8081 spring.cloud.gateway.routes[0].predicates[0]=Path=/user/** 启动类: java

@SpringBootApplication
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
(二)Resilience4j基础

  1. 断路器模式
    断路器模式用于防止系统过载,当某个服务调用失败时,断路器会“断开”,避免调用方继续等待。
    它可以提高系统的容错性和稳定性。
  2. Resilience4j简介
    Resilience4j是一个轻量级的容错库,用于实现断路器、限流、重试等功能。
    它与Spring Boot集成良好,支持注解和编程式配置。
  3. 集成Resilience4j
    添加依赖:
    xml
io.github.resilience4j resilience4j-spring-boot2 配置断路器: properties

resilience4j.circuitbreaker.instances.user-service.registerHealthIndicator=true
resilience4j.circuitbreaker.instances.user-service.failureRateThreshold=50
resilience4j.circuitbreaker.instances.user-service.waitDurationInOpenState=10s
使用断路器注解:
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";
}

}
(三)实际练习:实现一个简单的API网关和断路器示例

  1. 启动API网关
    启动Spring Cloud Gateway应用,访问http://localhost:8080/user/info,请求会被路由到后端服务。
  2. 集成断路器
    在后端服务中集成Resilience4j,模拟服务故障,观察断路器的保护机制。
  3. 运行和测试
    启动后端服务和API网关。
    访问API网关,观察请求是否被正确路由。
    模拟后端服务故障,观察断路器的保护效果。
    三、学习心得
    API网关的作用
    API网关作为微服务架构的统一入口,简化了客户端与服务之间的通信。
    Spring Cloud Gateway提供了强大的路由和过滤功能,支持动态配置。
    断路器的重要性
    断路器模式可以有效防止系统过载,提高系统的容错性和稳定性。
    Resilience4j提供了轻量级的断路器实现,与Spring Boot集成良好。
    实践的重要性
    通过实际搭建API网关和集成断路器,我更好地理解了它们的使用方法。
    实践可以帮助快速发现和解决问题,加深对知识点的理解。
posted @   头发少的文不识  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示