springcloud stream

Posted 圣金巫灵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springcloud stream相关的知识,希望对你有一定的参考价值。

屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型。

通过定义绑定器作为中间层,实现了应用程序与消息中间件细节之间的隔离。rabbitmq和kafka

启动这四个服务和rabbitmq进行测试。

 

 8801是消息发送方,8802和8803作为一组是消息接收方

测试结果:

当发送两次请求:http://localhost:8801/send

8801控制台输出

2021-05-29 10:46:38.575 INFO 1324 --- [nio-8801-exec-2] c.s.s.service.impl.MessageProviderImpl : send serial is: 7606b01c-05dc-4885-85b1-a78c6c0ecc99
2021-05-29 10:46:39.188 INFO 1324 --- [nio-8801-exec-3] c.s.s.service.impl.MessageProviderImpl : send serial is: 8100e2d4-f385-4d1d-9dcf-822a734001a0

8802控制台输出

2021-05-29 10:46:38.588  INFO 14636 --- [hange.shishiA-1] c.s.s.c.MessageReceiveController         : 1 received serial is :7606b01c-05dc-4885-85b1-a78c6c0ecc99   port:8802

8803控制台输出

2021-05-29 10:46:39.200  INFO 1772 --- [hange.shishiA-1] c.s.s.c.MessageReceiveController            : 2 received serial is :8100e2d4-f385-4d1d-9dcf-822a734001a0   port:8803

能看到分组为一组,消息不会重复发送。而且消息分组能实现消息持久化。

实现了消息持久化的验证:

关闭两个消费端,在8801发送四次。发送完成后再启动8802,能看到项目启动过程中,接受到了消息

 

 

 

rabbitmq分组shishiA有两个消费者:

代码见:

https://github.com/lulu4pix/springcloud/commit/8cc0b70d3423806a246d04609f6e51233ad5854c

 

 

 

#补充:

看到别人记的比较好的笔记就懒得写细节了:

https://blog.csdn.net/qq_31850627/article/details/108591358

 

以上是关于springcloud stream的主要内容,如果未能解决你的问题,请参考以下文章

springcloud01-SpringCloud 概述

SpringCloud系列SpringCloud概述及微服务技术栈的使用

springcloud2020版本使用zuul和nacos服务发现

springcloud情操陶冶-初识springcloud

SpringCloud学习系列-SpringCloud

springcloud nacos 跨服务调用失败