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

一、学习目标
了解Spring Cloud OpenFeign的基本概念和使用方法。
掌握如何使用OpenFeign实现声明式服务调用。
了解Spring Cloud Stream的基本概念和消息驱动架构。
学习如何在Spring Cloud微服务架构中使用Spring Cloud Stream实现消息通信。
通过实际练习,构建一个使用OpenFeign和Spring Cloud Stream的微服务架构。
二、学习内容
(一)Spring Cloud OpenFeign

  1. OpenFeign简介
    OpenFeign是一个基于Java注解的声明式服务调用框架,简化了微服务之间的通信。
    它通过注解定义接口,自动生成代理实现,支持负载均衡和熔断。

  2. 使用OpenFeign
    添加依赖:
    xml
    复制

    org.springframework.cloud
    spring-cloud-starter-openfeign

    启用Feign客户端:
    java
    复制
    @SpringBootApplication
    @EnableFeignClients
    public class Application {
    public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    }
    }
    定义Feign客户端:
    java
    复制
    @FeignClient(name = "user-service")
    public interface UserClient {
    @GetMapping("/user/{id}")
    User getUserById(@PathVariable Long id);
    }
    使用Feign客户端:
    java
    复制
    @Service
    public class UserService {
    @Autowired
    private UserClient userClient;

    public User getUser(Long id) {
    return userClient.getUserById(id);
    }
    }
    (二)Spring Cloud Stream

  3. Spring Cloud Stream简介
    Spring Cloud Stream是一个用于构建消息驱动微服务的框架,支持多种消息中间件(如RabbitMQ、Kafka)。
    它通过注解和接口简化了消息的发送和接收。

  4. 使用Spring Cloud Stream
    添加依赖:
    xml
    复制

    org.springframework.cloud
    spring-cloud-starter-stream-rabbit

    配置消息通道:
    properties
    复制
    spring.cloud.stream.bindings.input.destination=myQueue
    spring.cloud.stream.bindings.input.group=myGroup
    spring.cloud.stream.bindings.output.destination=myQueue
    发送消息:
    java
    复制
    @Service
    public class MessageSender {
    @Autowired
    private Source source;

    public void sendMessage(String message) {
    source.output().send(MessageBuilder.withPayload(message).build());
    }
    }

public interface Source {
@Output("output")
MessageChannel output();
}
接收消息:
java
复制
@Service
public class MessageReceiver {
@StreamListener("input")
public void receiveMessage(String message) {
System.out.println("Received message: " + message);
}
}
(三)实际练习:构建一个使用OpenFeign和Spring Cloud Stream的微服务架构

  1. 创建微服务项目
    使用Spring Initializr生成多个微服务项目,如user-service、order-service等。
  2. 集成OpenFeign
    在order-service中添加OpenFeign依赖,定义Feign客户端调用user-service。
  3. 集成Spring Cloud Stream
    在order-service中添加Spring Cloud Stream依赖,配置消息通道,发送和接收消息。
  4. 运行和测试
    启动所有微服务,测试OpenFeign调用是否成功。
    发送消息到消息队列,验证Spring Cloud Stream是否正常工作。
    三、学习心得
    OpenFeign的优势
    OpenFeign通过声明式接口简化了微服务之间的调用,减少了模板代码。
    它支持负载均衡和熔断,提高了系统的容错性。
    Spring Cloud Stream的作用
    Spring Cloud Stream简化了消息驱动架构的开发,支持多种消息中间件。
    它通过注解和接口简化了消息的发送和接收,提高了开发效率。
    实践的重要性
    通过实际构建和测试微服务架构,我更好地理解了OpenFeign和Spring Cloud Stream的使用方法。
    实践可以帮助快速发现和解决问题,加深对知识点的理解。
posted @ 2025-02-20 00:02  头发少的文不识  阅读(24)  评论(0)    收藏  举报