springCloud→Stream:消息驱动概述


SpringCloud Stream消息驱动概述

是什么

用一句话来说:屏蔽底层消息中间件的差异,统一消息的编程模型
请添加图片描述
通过Stream可以很好的屏蔽各个中间件的API差异,它统一了API,生产者通过OUTPUT向消息中间件发送消息,此时并不需要关心消息中间件是Kafka还是RabbitMQ,不需要关注他们的API,只需要用到Stream的API,这样可以降低学习成本。消费方通过INPUT消费指定的消息,也不需要关注消息中间件的API,架构图如上图:
我们对上图中的对象进行说明:

Application Core:生产者/消费者
inputs:消费者
outputs:生产者
binder:绑定器,主要和消息中间件之间进行绑定操作
Middleware:消息中间件服务

工作流程

请添加图片描述

我们项目中真正用应用到Stream,只需要按照如上流程图操作即可。

生产者:
    1:使用Source绑定消息输出通道。
    2:通过MessageChannel输出消息。
    3:通过@EnableBinding开启Binder,将生产者绑定到指定MQ服务。

消费者:
    1:通过@EnableBinding绑定到指定MQ。
    2:通过Sink绑定输出数据通道。
    3:@StreamListener监听指定通道数据。

编码API和常用注解

在这里插入图片描述


文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录