博客
关于我
SpringCloud之Stream整合RabbitMQ入门案例
阅读量:762 次
发布时间:2019-03-22

本文共 854 字,大约阅读时间需要 2 分钟。

Stream 概述

在这个项目中,我们采用Spring Cloud Stream框架,基于RabbitMQ作为消息中间件。通过选择适当的消息中间件组件,我们可以实现高效的微服务 communication。

基础

本项目基于Spring Cloud Stream框架,结合RabbitMQ实现消息队列功能。Spring Cloud Stream提供了一套简单易用的API,支持对消息中间件进行统一配置和管理。

hystrix-consumer 子工程

该子工程负责消费消息,集成了相关的Hystrix容错机制。项目结构包括以下几个关键部分: - pom文件配置了必要的依赖项,包括RabbitMQ相关的Spring Cloud Stream组件。 - 配置文件(application.yml)定义了消息的绑定器和绑定方法,确保消息能够按照预期的路由和格式接收。 - 监听器(MessageListener)类负责处理消息,实现消息的基本消费逻辑,适用于处理消息偏移或异常情况。

hystrix-provider 子工程

这个子项目主要负责消息生产,同样基于Spring Cloud Stream框架和RabbitMQ。项目结构包括: - pom文件类似hystrix-consumer部分,配置了相同的消息中间件组件。 - 配置文件定义了消息的发布渠道,包括消息的内容格式和目标交易号(test_exchange)。 - 生产者(MessageProducer)类负责构建并发布消息,支持消息的额外属性(如Endpoint)配置,支持集群发布。 - 控制器(GoodsController)提供了REST API接口,作为外部调用入口,负责消息的发布或调试。

测试

项目包含三个主要服务: 1. eureka-server 2. hystrix-consumer 3. hystrix-provider

通过自动化测试框架确保各组件的协同工作,确保消息能够顺利生产、传输、消费,并在出现故障时能够优雅降级。

转载地址:http://qgmwk.baihongyu.com/

你可能感兴趣的文章
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>