最新要闻
- 每日精选:汉字:中华民族融合发展的纽带
- 长沙松雅湖:湿地公园春意浓 游人不负好春光-环球即时
- 全球热点!重新加热圆眼烤肉
- 关注!一地宣布:5月起用数字人民币发工资_世界快播报
- 全球动态:“行走的民俗”就在老百姓身边 第二届金山小白龙民俗文化旅游节开幕
- 谨庠序之教申之以孝悌之义的意思(谨痒序之教申之以孝悌之义)-天天热议
- G7酝酿“近乎全面禁止对俄出口”,俄方:只会加剧全球经济危机风险
- 天天日报丨洗鼻器的危害中耳炎_洗鼻器的危害
- 月人生打一成语成语_月人生打一成语
- 子女离婚,父母在子女婚后资助难要回
- 新资讯:2019攀枝花的工伤认定有效期是多久
- 东海县有多少个乡_东海县一共有几个乡镇 一一列出各个乡镇的名字 环球聚看点
- 速读:曾被富家养大低谷时遇贵人!靠《狂飙》出圈高叶妖艳魅惑
- 世界视点!睡莲盆栽的种植方法_睡莲的盆栽养殖方法
- 电脑pdf怎么添加图片(pdf怎么添加图片)
- 全球最资讯丨三个贝怎么读拼音-三个贝
5G
首例5g乳腺手术价格是多少钱?首例5g乳腺手术成功率是多少?
电信光纤多少钱一年?电信光纤价格表
- 首例5g乳腺手术价格是多少钱?首例5g乳腺手术成功率是多少?
- 电信光纤多少钱一年?电信光纤价格表
- 5g流量消耗会不会很快?手机打开5g好还是关闭5G好?
- 5g怎么变成4g信号?5g手机排名前十名一览
- 5g和4g的区别在哪里?5g首批城市名单
- 5g是谁最先研发出来的?5g是什么意思?
科技
使用 Spring Cloud Bus 和 Spring Cloud Stream 集成实现基于消息的事件驱动_环球热闻
基于消息的事件驱动是一种常见的微服务架构设计模式,它将不同的微服务之间通过消息进行通信,实现松耦合、高可伸缩性和高可靠性。在这种架构下,每个微服务都是独立的,它们可以在消息传递的过程中进行异步操作,这使得整个系统的性能得到了很大的提升。
在 Spring Cloud 中,我们可以使用 Spring Cloud Bus 和 Spring Cloud Stream 集成来实现基于消息的事件驱动。Spring Cloud Bus 是一个消息总线,它可以在微服务之间传递消息,可以将所有微服务视为一个整体,向所有微服务广播消息或向指定的微服务发送消息。Spring Cloud Stream 是一个消息驱动的微服务框架,它可以轻松地将消息通道与微服务进行集成。
准备工作
首先,我们需要在 pom.xml 文件中添加以下依赖:
(资料图片仅供参考)
org.springframework.cloud spring-cloud-starter-bus-amqp org.springframework.cloud spring-cloud-stream-binder-rabbit
这些依赖将会引入 Spring Cloud Bus 和 Spring Cloud Stream 的相关库,并且使用 RabbitMQ 作为消息代理。如果你想使用其他消息代理,可以根据实际需求进行修改。
创建消息通道
在这个例子中,我们将创建一个名为 myChannel 的消息通道,用于在微服务之间传递消息。在创建消息通道之前,我们需要在 application.yml 文件中添加以下配置:
spring: cloud: stream: bindings: myChannel: destination: myChannel
这个配置将创建一个名为 myChannel 的消息通道,并将它绑定到 RabbitMQ 的 myChannel 队列上。现在,我们可以在代码中使用 @Input 和 @Output 注解来定义输入和输出消息通道了。
public interface MyChannel { String INPUT = "myInput"; String OUTPUT = "myOutput"; @Input(INPUT) SubscribableChannel input(); @Output(OUTPUT) MessageChannel output();}
这个接口定义了一个名为 MyChannel 的消息通道,其中包括一个名为 myInput 的输入消息通道和一个名为 myOutput 的输出消息通道。
发布消息
在这个例子中,我们将创建一个名为 MyController 的控制器类,该类将发布一个名为 MyMessage 的消息到 myOutput 消息通道上。
@RestControllerpublic class MyController { @Autowired private MessageChannel output; @PostMapping("/send") public void sendMessage(@RequestBody MyMessage message) { output.send(MessageBuilder.withPayload(message).build()); }}
这个控制器类注入了名为 output 的 MessageChannel,用于向 myOutput 消息通道发送消息。在 sendMessage 方法中,我们通过 MessageBuilder 创建一个名为 message 的 MyMessage 消息,然后通过 output.send 方法将这个消息发送到 myOutput 消息通道上。
处理消息
在这个例子中,我们将创建一个名为 MyListener 的监听器类,该类将监听 myInput 消息通道上的消息,并将消息打印到控制台上。
@EnableBinding(MyChannel.class)public class MyListener { @StreamListener(MyChannel.INPUT) public void handleMessage(MyMessage message) { System.out.println("Received message: " + message); }}
这个监听器类使用 @EnableBinding 注解将 MyChannel 消息通道绑定到 Spring Cloud Stream 上。在 handleMessage 方法中,我们使用 @StreamListener 注解监听 myInput 消息通道上的消息,当有消息到来时,Spring Cloud Stream 将自动将消息转换为 MyMessage 类型,并将其传递给 handleMessage 方法进行处理。在这个例子中,我们只是简单地将消息打印到控制台上,你可以根据实际需求进行修改。
运行测试
现在,我们已经创建了消息通道、发布了消息和处理了消息,我们可以启动应用程序并测试它了。首先,我们需要在终端窗口中启动 RabbitMQ,执行以下命令:
cssCopy codedocker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
这个命令将启动一个名为 rabbitmq 的容器,并将其映射到本地主机的 5672 和 15672 端口上。现在,我们可以启动应用程序并访问 http://localhost:8080/send发送消息了。在控制台中,你应该可以看到类似下面的输出:
Received message: MyMessage{id=1, content="Hello, world!"}
这表明消息已经成功传递到了 myInput 消息通道,并被 MyListener 监听到并处理了。
关键词:
-
使用 Spring Cloud Bus 和 Spring Cloud Stream 集成实现基于消息的事件驱动_环球热闻
基于消息的事件驱动是一种常见的微服务架构设计模式,它将不同的微服务之间通过消息进行通信,实现松耦合、
来源: 使用 Spring Cloud Bus 和 Spring Cloud Stream 集成实现基于消息的事件驱动_环球热闻
we第一个世界冠军_we世界冠军是s几
环球动态:今天,为人民海军点赞!
密谋破坏电网挑起内乱 两名美国男子被判刑
每日精选:汉字:中华民族融合发展的纽带
怎样压缩文件到最小并且不影响清晰度_怎样压缩文件到最小
全球焦点!被拐26年 女子向人贩子索赔790万元:害我失去双亲
长沙松雅湖:湿地公园春意浓 游人不负好春光-环球即时
焦点速读:一些商家强制“圈粉” 二维码成消费“拦路码”
全球热点!重新加热圆眼烤肉
连花清咳片获评“最受药店欢迎明星单品” 止咳化痰优势多
顶不住了!美国又一巨头将大裁员超30% 新CEO正式上任仅数日 环球速看
关注!一地宣布:5月起用数字人民币发工资_世界快播报
腰疼就是腰突?两码事!
4月23日灌阳县宏腾萤石价格暂稳
qq水浒智囊团武将攻略汇总(qq水浒智囊团) 世界微资讯
中国科大科技活动周启动
每日快看:上海长宁这条分时步行街升级回归!春夏秋三季皆可逛吃
全球动态:“行走的民俗”就在老百姓身边 第二届金山小白龙民俗文化旅游节开幕
世界百事通!微波炉光波炉怎么选(微波炉光波炉)
焦点观察:小学教师师德工作计划(小学教师师德工作总结)
谨庠序之教申之以孝悌之义的意思(谨痒序之教申之以孝悌之义)-天天热议
当前观点:3:2!英超刺激一战:22分钟5球,利物浦3次领先,萨拉赫刷纪录
环球信息:蚂蚁森林在上海成立公益基金会,累计种树超4亿棵
狐大医 | 孩子反复感冒?一查竟是鼻腔里长了颗牙|精选
G7酝酿“近乎全面禁止对俄出口”,俄方:只会加剧全球经济危机风险
【世界快播报】五一假期出门不想挤?这些地方人少有趣还能涨知识!
天天播报:视力表4.8对应度数_视力表对应近视度数表
天天日报丨洗鼻器的危害中耳炎_洗鼻器的危害
【天天新要闻】淄博烧烤热的启示
山西一高校成立剧本杀学院 校方:只是选修 学生反馈不错 天天即时
女主毁容后回来复仇的_女主毁容|每日看点
dod是什么意思_dods
月人生打一成语成语_月人生打一成语
方城县气象台发布大风蓝色预警【Ⅳ级/一般】【2023-04-22】
子女离婚,父母在子女婚后资助难要回
“奢侈的力量”再造全球首富,“LVMH们”为何能够跨越周期?|钛度热评 环球快播报
不够的够组什么词(不够组词)
世界观热点:如图在三角形abc中ad垂直bc be垂直ac 如图在三角形abc中ad垂直bc
消费者体验VR游戏受伤 游戏经营者被判赔偿7000余元 全球微资讯
每日速讯:老公坐牢的钱可以算夫妻共同财产吗
新资讯:2019攀枝花的工伤认定有效期是多久
一人一城,效力十一年的科隆后卫赫克托宣布本赛季结束后退役
微波炉煮鸡蛋会爆炸吗?_微波炉煮鸡蛋
世界热头条丨刚染发后多久可以洗头_染发后几天可以洗头
东海县有多少个乡_东海县一共有几个乡镇 一一列出各个乡镇的名字 环球聚看点
每日资讯:如何面对2023游戏行业真实、残酷的就业困境?
“作家进校园”活动在深举行,三方联动赋能校园阅读
"整容天后"李玟:嫁洋老公9次试管怀不上孕,48岁还凭翘臀吸粉! 头条焦点
速读:曾被富家养大低谷时遇贵人!靠《狂飙》出圈高叶妖艳魅惑
双瞳完美百度百科_双瞳完美-热点评
环球精选!福建省福州市2023-04-23 00:21发布雷电黄色预警
惠州欠条律师费用要多少?
世界视点!睡莲盆栽的种植方法_睡莲的盆栽养殖方法
枣庄泓滔公考:为什么公考越来越受欢迎?
美媒:美国开始规划6G无线通讯战略 “吸取5G技术教训”
快穿给我一个吻同类型小说推荐(快穿给我一个吻)
电脑pdf怎么添加图片(pdf怎么添加图片)
睡莲根块养殖方法水培_睡莲根块养殖方法 环球新动态
吃烧烤收15元燃气费,店长回应:明码标价,不知道有什么问题
天天百事通!故宫几点开门营业-故宫几点开门
环球微头条丨会计职称分几个等级-180的衣服几个X
全球最资讯丨三个贝怎么读拼音-三个贝
不完美的她讲的什么_不完美的她剧情介绍
再见理想歌词_再见理想歌词是什么
三千鸦杀电视剧更新时间_大家可以看看
又一个地产首富,下落不明-热点聚焦
每日时讯!屯昌县气象台解除高温橙色预警【Ⅱ级/严重】
泓博医药(301230)3月31日股东户数0.8万户,较上期减少27.99%
焦点热文:异地恋怎么关心女朋友_异地恋哄女朋友的话
全球通讯!4.98万加量不加价!雅马哈XMAX新款上市,全新外观、全彩仪表都有
皮尔斯:不同意吹杨被高估 他首次打季后赛很惊艳 他设立了高标准|天天新动态
硫磺皂的作用与功效_硫磺皂的功效你了解吗-环球热点
江西省玉山县法院:法庭进驻辖区社会治理工作站 走出诉源治理新路子
全球滚动:2023年“新时代曲靖好少年”建议人选及其事迹公示
世界快播:婴儿辅食食谱_宝宝辅食大全及做法
儿童扁桃体肿大怎么消肿_扁桃体肿大怎么消肿
汤姆克鲁斯真实身高168_汤姆克鲁斯真实身高
宽城吧 百度贴吧大集_宽城吧
每日消息!豆腐与豆浆哪个好 豆腐与豆浆什么好
环球今日报丨裘皮衣服怎么洗最好 裘皮衣服如何洗最好
天天微头条丨大雁塔小学石桥华洲城分校举行春季田径运动会
微头条丨减肥期间吃牛肉干会胖吗 减肥的时候吃牛肉干会不会胖呢
张朝阳王石对话雪山之巅,搜狐视频做了场“有温度”的知识直播-看点
世界即时看!网速有多快?中国电信科普:若说5G是高铁那6G就是飞机
上班时间有变!加班工资这样算→
31省份一季度人均收入:“万元户”增3地,浙江跻身“两万+”|每日精选
dubai是哪个国家城市英文 dubai是哪个国家
一建市政往年通过率_一建通过率是多少_要闻
印度圣女几岁_印度圣女怀孕怎么办
吴堡县气象台发布霜冻蓝色预警【Ⅳ级/一般】【2023-04-21】 当前滚动
耒阳市气象局发布冰雹橙色预警【Ⅱ级/严重】 世界速读
胜利跆拳道馆收完钱不给发证,要求退款一直拖!哈尔滨松北区文旅局回应……
墨西哥总统点名美国:不需要 不接受详细内容
快看点丨用户用水无小事!济南水务集团延伸服务确保居民用水
湘潭县气象局发布冰雹橙色预警【Ⅱ级/严重】
巴媒:金砖合作引领全球南方崛起
“壮族三月三”假期首日,广西这些地方都是人人人!-每日短讯
桂林市气象台发布暴雨橙色预警信号【II级/严重】【2023-04-22】
全球快资讯:2023年国家助学贷款免息及本金延期偿还政策解析 这些问题需关注