SpringCloud 整合RabbitMQ 学习笔记

一、概念理解

RabbitMQ 是Erlang语言实现的基于OPT 平台的一款成熟消息队列中间件,SpringCloud 也提供了无缝整合RabbitMQ的方案。RabbitMQ 提供了可视化的管理端,可实时监测各队列、交换器的运行情况,实时展示消息处理的统计结果。RabbitMQ引入了较多新的概念,比如:Virtual host、EXChange、Binding、BindingKey、信道、Channel、Routing-key、Connection

外部与RabbitMQ之间实现发布消息、接收消息、订阅队列都是通过信道(Channel)实现的,一个TCP连接上创建多个Channel 无限制。

TCP连接打开就会创建AMQP信道。

Virtual host :它表示一批交换器、消息队列和相关联对象。Virtual host之间相互独立、共享相同的身份认证,可以理解为每个Virtual host就是一个微型的RabbitMQ。拥有自己的队列、交换器、绑定、权限机制。RabbitMQ 默认的vhost 是 / 

Routing-key:消息发到MQ时,消息将拥有一个路由键属性,即使是空的,MQ也会将其与已绑定使用的路由键进行匹配,匹配不上就将消息放入黑洞。

EXChange:它就是生产者服务与具体队列之间的一个路由规则的实现(体现),作用主要是指定消息发往哪个或哪几个队列。常用类型的主要有:direct(完全匹配/发布订阅)、fanout(广播)、topic(主题/规则匹配)。

Binding:消息队列与交换器之间的关联关系。也就是交换器和消息队列之间的路由关系。

为什么用信道?因为TCP的创建和销毁对系统的消耗较大,创建需要三次握手,销毁需要四次分手。信道的原理是一个线程用一条信道共用一个TCP连接,而一条TCP连接可以容纳无限的信道,所以每秒成千上万的消息请求也不会成为性能的瓶颈。

二、RabbitMQ 与SpringCloud 整合:

第一阶段:简单上手

第一步:引入Rabbit相关的依赖包:

pom.xml

	<!-- rabbitMQ依赖坐标 -->
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-amqp</artifactId>
	</dependency>

第二步:配置全局变量:

application.properties

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值