SpringCloud微服务实战——搭建企业级开发框架(三十六):使用Spring Cloud Stream实现可灵活配置消息中间件的功能

Java40

在以往消息队列的使用中,我们通常使用集成消息中间件开源包来实现对应功能,而消息中间件的实现又有多种,比如目前比较主流的ActiveMQ、RocketMQ、RabbitMQ、Kafka,Stream等,这些消息中间件的实现都各有优劣。
在进行框架设计的时候,我们考虑是否能够和之前实现的短信发送、分布式存储等功能一样,抽象统一消息接口,屏蔽底层实现,在用到消息队列时,使用统一的接口代码,然后在根据自己业务需要选择不同消息中间件时,只需要通过配置就可以实现灵活切换使用哪种消息中间件。Spring Cloud Stream已经实现了这样的功能,下面我们在框架中集成并测试消息中间件的功能。

目前spring-cloud-stream官网显示已支持以下消息中间件,我们使用RabbitMQ和Apache Kafka来集成测试:

一、集成RabbitMQ并测试消息收发

RabbitMQ是使用Erlang语言实现的,这里安装需要安装Erlang的依赖等,这里为了快速安装测试,所以使用Docker安装单机版RabbitMQ。
1、拉取RabbitMQ的Docker镜像,后缀带management的是带web管理界面的镜像

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Java

Python requests, pasel多线程爬取并下载小说

使用PYTHON语言,用到的外部包有pasel, requests。 逻辑:首先得到该小说所有章节地址,再使用多线程访问链接,得到的内容放入object列表中,最后写入本地文件。 功能:设置菜单,由此...
Java

web监听器解析

监听器是web三大组件之一,事件监听机制如下: 事件:某个事件,如果初始化上下文 事件源:事件发生的地方 监听器:一个对象,拥有需要执行的逻辑 注册监听:将事件、事件源、监听器绑定在一起。当从事件源发...
Java

汇总数据库信息的存储过程

问题: mysql日常开发过程中,数据库、表的很多信息分散在不同的工具和不同的界面中,来回切换查找非常麻烦。 解决方式: 基于这个问题,编写了一个存储过程来收集存储过程中的日常信息,这非常方便查询。[...
Java

spring数据验证

通常,我们不建议在服务器端进行基本数据验证,因为这存在一个主要问题:它增加了服务器上的负载,如果并发性越强,这一点就越明显。[En]In general, we do not recommend ba...
Java

如何下载 blob 地址的视频资源

如何下载视频资源以blob:http开头的资源 一、问题场景 想下载知乎视频资源,却发现视频链接是这个样子的 blob:https://v.vzuu.com/b6146956-6e52-406d-89...
Java

spring security登录认证流程

spring security登录认证流程 1、前端携带用户名和面膜发送请求,controller接收到后,调用service的login方法 2、根据传过来的用户名和密码生成UsernamePass...
Java

Pycharm k火秘诀插件

Pycharm2020最新永久激活码插件(支持Windows),100%永久激活 用到pycharm工具发现没用多久时间又过期了,在网上有看到很多朋友都遇到同样的情况,于是找到了一批很不错的永久激活方...
Java

Html5+Css3 Banner Animation 多方位移动特效

背景:朋友问我小米官网的mi4的特效会做吗,可能新接的一个小网站需要用到。一直有打算研究H5C3的一些效果,趁此机会,赶紧学习一下! 效果:如图 素材 HTML: