第十章 消息驱动的微服务: Spring Cloud Stream

  Spring Cloud Stream 是一个用来为微服务应用构建消息驱动能力的框架。 它可以基于Spring Boot 来创建独立的、 可用于生产的 Spring 应用程序。 它通过使用 Spring Integration 来连接消息代理中间件以实现消息事件驱动。 Spring Cloud Stream 为一些供应商的消息中间件产品提供了个性化的自动化配置实现,并且引入了发布-订阅、 消费组以及分区这三个核心概念。 简单地说, Spring Cloud Stream 本质上就是整合了 Spring Boot 和 SpringIntegration, 实现了一套轻量级的消息驱动的微服务框架。到目前为止,SpringCloud Stream 只支持下面两个著名的消息中间件的自动化配置:

  • RabbitMQ
  • Kafka

快速入门

pom.xml 中的依赖关系

复制代码
<parent> 
  <groupid>org.springframework.boot</groupid> 
  <artifactid>spring-boot-starter-parent</artifactid> 
  <version>l.3.7.RELEASE</version> 
  <relativePath/> <!-- lookup parent from repository --> 
</parent>
<dependencies> 
  <dependency> 
    <groupid>org.springframework.boot</groupid> 
    <artifactid>spring-boot-starter-web</artifactid> 
  </dependency> 
  <dependency> 
    <groupid>org.springframework.boot</groupid> 
    <artifactid>spring-boot-starter-test</artifactid> 
    <scope>test</scope>
  </dependency> 
  <dependency> 
    <groupid>org.springframework.cloud</groupid> 
    <artifactid>spring-cloud-starter-stream-rabbit</artifactid>
  </dependency> 
</dependencies> 
<dependencyManagement> 
  <dependencies> 
    <dependency> 
      <groupid>org.springframework.cloud</groupid> 
      <artifactid>spring-cloud-dependencies</artifactid> 
      <version>Brixton.SRS</version>
      <type>pom</type> 
      <scope>import</scope> 
    </dependency> 
  </dependencies> 
</dependencyManagement>
复制代码

创建用于接收来自 RabbitMQ 消息的消费者 SinkReceiver

复制代码
@EnableBinding{Sink.class) 
public class SinkReceiver { 
  private static Logger logger = LoggerFactory. getLogger (HelloApplication. class};
  @StreamListener(Sink.INPUT)   public void receive(Object payload) {     logger.info("Received: " +
payload);
} }
复制代码

 

posted on   胡子就不刮  阅读(172)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示