当前位置: 首页 > news >正文

建设门户网站的基本意义有哪些专业团队文案

建设门户网站的基本意义有哪些,专业团队文案,服务平台网站设计,室内设计基础知识点Stream 简介 Spring Cloud Stream 是用于构建消息驱动的微服务应用程序的框架,提供了多种中间件的合理配置 Spring Cloud Stream 包含以下核心概念: Destination Binders:目标绑定器,目标指的是 Kafka 或者 RabbitMQ&#xff0…

Stream 简介

Spring Cloud Stream 是用于构建消息驱动的微服务应用程序的框架,提供了多种中间件的合理配置

Spring Cloud Stream 包含以下核心概念:

  • Destination Binders:目标绑定器,目标指的是 Kafka 或者 RabbitMQ,绑定器就是封装了目标中间件的包,如果操作的是 Kafka,就使用 Kafka Binder,如果操作的是 RabbitMQ,就使用 RabbitMO Binder
  • Bindings:外部消息传递系统和应用程序之间的桥梁,提供消息的“生产者”和“消费者”(由目标绑定器创建)
  • Message:一种规范化的数据结构,生产者和消费者基于这个数据结构通过外部消息系统与目标绑定器和其他应用程序通信

应用程序通过 inputs 或者 outpus 与 Spring Cloud Stream 的 Binder 交互,Binder 层负责和中间件的通信,通过配置来 binding。通过定义 Binder 作为中间层,实现了应用程序与消息中间件细节之间的隔离,应用程序不需要再考虑各种不同的消息中间件实现。当需要升级消息中间件或是更换其他消息中间件产品时,只需要更换对应的 Binder 绑定器

在这里插入图片描述


Stream 整合 kafka

以 Kafka 为例,确保安装 Kafka 并启动

分别创建生产者和消费者项目,分别添加依赖

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-stream-kafka</artifactId>
</dependency>
1. 创建生产者

开发 MqSource 接口

public interface MqSource {@Output("test-topic")MessageChannel testTopic();@Output("test-topic-2")MessageChannel testTopic2();
}

通过 @Output@Input 注解定义消息输入和输出通道的名称定义,输出通道需要返回 MessageChannel 接口对象,它定义了向消息通道发送消息的方法。默认情况下,通道的名称就是注解的方法的名称,也能自己定义通道名称,只需要给 @Input@Output 注解传入 String 类型参数通道名称即可,这里指定两个通道分别为 test-topictest-topic-2

开发 MsgProducer 类

@Slf4j
@EnableBinding(MqSource.class)
public class MsgProducer {@Autowiredprivate MqSource mqSource;public void sendTestTopicMessage(String msg) {try {mqSource.testTopic().send(MessageBuilder.withPayload(msg).build());} catch (Exception e) {log.error("sendTestTopicMessage error", e);}}public void sendTestTopic2Message(String msg) {try {mqSource.testTopic2().send(MessageBuilder.withPayload(msg).build());} catch (Exception e) {log.error("sendTestTopic2Message error", e);}}
}

使用 @EnableBinding 创建和绑定通道,绑定通道是指将通道和 Binder 进行绑定,比如 Kafka、RabbiMQ 等。如果类路径下只有一种 Binder,那么 Spring Cloud Stream 会找到并绑定它,不需要进行配置。如果有多个就需要明确配置

调用 MqSource 接口方法获取输出通道对象,接着调用 send 方法发送数据。send 方法接收一个 Message 对象,这个对象不能直接新建,需要使用 MessageBuilder 获取

2. 创建消费者
public interface MqSink {@Input("test-topic")MessageChannel testTopic();@Input("test-topic-2")MessageChannel testTopic2();
}

与生产者的 MqSource 同理

开发 MsgReceiver 类,@StreamLisiener 接收的参数是要处理的通道名,所注解的方法就是处理从通道获取数据的方法,方法的参数就是获取到的数据

@Slf4j
@EnableBinding(MqSink.class)
public class MsgReceiver {@StreamListener("test-topic")public void testTopicMessageListen(String msg) {log.info("testTopicMessageListen: {}", msg);}@StreamListener("test-topic-2")public void testTopic2MessageListen(String msg) {log.info("testTopic2MessageListen: {}", msg);}
}

http://www.yayakq.cn/news/304773/

相关文章:

  • 四川百度推广和seo优化seo标题优化裤子关键词
  • 长沙哪里可以做网站西安 网站开发 招聘
  • 做网站收费吗aspcms网站图片不显示
  • 上海企业网站黄页个人网站 免备案
  • 高端网站建设 工业常州交通建设管理有限公司网站
  • 建设银行新加坡分行网站南宁网站定制开发
  • 女頻做的最好的网站企业网站管理系统(多语言)
  • 做网站的调查问卷什么是网络营销渠道?网络营销渠道有何功能?
  • 漳州市城乡建设局网站网页美工设计之中使用的主要软件是
  • 浙江省城乡住房建设网站南昌网站建设公司价位
  • 网站添加标签云wordpress是h5页面跳转
  • 建设厅证书查询网站wordpress分段
  • 乌兰浩特建设网站肃宁县网站建设公司
  • 网上做设计兼职哪个网站好点旅游网站制作视频百度云
  • 赤峰是住房和城乡建设局网站app开发有几种方式
  • 如何做网站营销推广做资源网站
  • 广西营销型网站建设公司高端网站建设公司有哪些
  • 网站主机一个g怎么才能在网上卖货
  • 番禺建设网站报价楚雄市住房和城乡建设局网站
  • 做seo_教你如何选择网站关键词哔哩哔哩网站
  • 政和县建设局网站公告wordpress加速访问
  • 可信网站认证页面设计怎么写
  • 网页模板快速建站工具沈阳建设工程造价
  • 服务器做视频网站吗网站通栏广告代码
  • 网站建设与栏目设置宁波市住房和城乡建设局
  • 网站运营需要 做哪些工作seo网站关键词优化快速官网
  • 中国建设银行网站怎么改支付密码忘了怎么办文案策划公司
  • 什么是无主体新增网站自己做的网站发布到网上
  • 足球个人网站模板3d建模培训机构排行榜
  • 中英文网站怎么做中国建筑集团有限公司官网首页