RabbitMQ
文章平均质量分 67
RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。作为一名合格的开发者,有必要对RabbitMQ有所了解,本文是RabbitMQ快速入门文章,主要内容包括RabbitMQ是什么、RabbitMQ核心概念、常用交换器类型、用Docker安装RabbitMQ等。
Young丶
这个作者很懒,什么都没留下…
展开
-
RocketMQ 实战 集群监控平台搭建
RocketMQ 实战 集群监控平台搭建概述RocketMQ有一个对其扩展的开源项目incubator-rocketmq-externals,这个项目中有一个子模块叫rocketmq-console,这个便是管理控制台项目了,先将incubator-rocketmq-externals拉到本地,因为我们需要自己对rocketmq-console进行编译打包运行。下载并编译打包git clone https://github.com/apache/rocketmq-externalscd rock原创 2021-07-05 23:19:49 · 353 阅读 · 0 评论 -
别人家的团队怎么用RabbitMQ:我总结的5点规范
我曾经一直都很奇怪,为何大家使用开发语言有开发规范,使用数据库有数据库规范,但是使用 MQ 却很少见一些规范。使用 MQ 缺少规范,这是普遍的问题?还只是我身边的个例?不管答案是哪个,在 RabbitMQ 使用时,为了避免在开发中少出现问题,为了事半功倍,都需要提前规范好一些配置和事项。1. 一个 RabbitMQ 应用里建立多个 vhost,去对应不同的开发项目我们在使用数据库的时候,会在一个数据库应用里建立多个不同的数据库去给不同的项目使用,而不用在不同的服务器专门每个项目都安装个数据库应用。原创 2021-02-25 16:18:53 · 1657 阅读 · 0 评论 -
RabbitMQ(十):RabbitMQ 如何保证消息的可靠性
一条消费成功被消费经历了生产者->MQ->消费者,因此在这三个步骤中都有可能造成消息丢失。一 消息生产者没有把消息成功发送到MQ1.1 事务机制AMQP协议提供了事务机制,在投递消息时开启事务支持,如果消息投递失败,则回滚事务。自定义事务管理器@Configurationpublic class RabbitTranscation { @Bean public RabbitTransactionManager rabbitTransactionManager(C.原创 2020-08-05 10:31:50 · 1476 阅读 · 0 评论 -
RabbitMQ(九):RabbitMQ 延迟队列,消息延迟推送(Spring boot 版)
应用场景目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如:淘宝七天自动确认收货。在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持续七天,就是使用了消息中间件的延迟推送功能。12306 购票支付确认页面。我们在选好票点击确定跳转的页面中往往都会有倒计时,代表着 30 分钟内订单不确认的话将会自动取消订单。其实在下订单那一刻开始购票业务系统就会发送一个延时消息给订单系统,延时30分钟,告诉订单系统订单未完成,如果我们在30分钟内完成了订原创 2020-06-23 17:28:15 · 887 阅读 · 0 评论 -
RabbitMQ(八):SpringBoot 整合 RabbitMQ(三种消息确认机制以及消费端限流)
说明本文 SpringBoot 与 RabbitMQ 进行整合的时候,包含了三种消息的确认模式,如果查询详细的确认模式设置,请阅读:RabbitMQ的三种消息确认模式同时消费端也采取了限流的措施,如果对限流细节有兴趣请参照之前的文章阅读:消费端限流生产端首先引入 maven 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>原创 2020-06-23 15:28:53 · 1186 阅读 · 2 评论 -
RabbitMQ(七):RabbitMQ 消费端限流、TTL、死信队列是什么?
消费端限流1. 为什么要对消费端限流假设一个场景,首先,我们 Rabbitmq 服务器积压了有上万条未处理的消息,我们随便打开一个消费者客户端,会出现这样情况: 巨量的消息瞬间全部推送过来,但是我们单个客户端无法同时处理这么多数据!当数据量特别大的时候,我们对生产端限流肯定是不科学的,因为有时候并发量就是特别大,有时候并发量又特别少,我们无法约束生产端,这是用户的行为。所以我们应该对消费端限流,用于保持消费端的稳定,当消息数量激增的时候很有可能造成资源耗尽,以及影响服务的性能,导致系统的卡顿甚至直接崩原创 2020-06-23 14:49:41 · 934 阅读 · 0 评论 -
RabbitMQ(六):Confirm 消息确认机制
生产端 Confirm 消息确认机制消息的确认,是指生产者投递消息后,如果 Broker 收到消息,则会给我们生产者一个应答。生产者进行接收应答,用来确定这条消息是否正常的发送到 Broker ,这种方式也是消息的可靠性投递的核心保障!Confirm 确认机制流程图如何实现Confirm确认消息?第一步:在 channel 上开启确认模式: channel.confirmSelect()第二步:在 channel 上添加监听: channel.addConfirmListener(Confir原创 2020-06-23 14:13:23 · 2334 阅读 · 0 评论 -
RabbitMQ(五):RabbitMQ 之简单队列
RabbitMQ 简述RabbitMQ是一个消息代理:它接受并转发消息。 您可以将其视为邮局:当您将要把寄发的邮件投递到邮箱中时,您可以确信Postman 先生最终会将邮件发送给收件人。 在这个比喻中,RabbitMQ是一个邮箱,邮局和邮递员,用来接受,存储和转发二进制数据块的消息。队列就像是在RabbitMQ中扮演邮箱的角色。 虽然消息经过RabbitMQ和应用程序,但它们只能存储在队列中。 队列只受主机的内存和磁盘限制的限制,它本质上是一个大的消息缓冲区。 许多生产者可以发送到一个队列的消息,许多消原创 2020-06-23 11:38:58 · 839 阅读 · 0 评论 -
RabbitMQ(四):RabbitMQ与Spring Boot简单整合 快速尝鲜版
RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。Spring Boot的兴起,极大地简化了Spring的开发,本文将使用Spring Boot与RabbitMQ进行简单整合,实现生产和消费消息。配置Spring Boot使用了这么久,套路差不多摸清楚了。Spring Boot与其他组件进行整合,无非就是加入pom依赖,接着配置一些基本信息,然后就可以使用相关注解进行开发了。RabbitMQ也是相同的套路,第一步要引入依赖。要引入的依赖比较容易记,RabbitM原创 2020-06-23 10:21:24 · 598 阅读 · 0 评论 -
RabbitMQ(三):RabbitMQ 使用场景
一. RabbitMQ 简介二. RabbitMQ 使用场景2.1 解耦2.2 异步提升效率2.3 流量削峰三. 引入消息队列的优缺点优点缺点总结 一. RabbitMQ 简介MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技.原创 2020-06-19 11:00:18 · 956 阅读 · 0 评论 -
RabbitMQ(二):RabbitMQ高级特性
RabbitMQ(二):RabbitMQ高级特性RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。作为一名合格的开发者,有必要了解一下相关知识,RabbitMQ(一):RabbitMQ快速入门已经入门RabbitMQ,本文介绍RabbitMQ的高级特性。过期时间(TTL)Time To Live,也就是生存时间,是一条消息在队列中的最大存活时间,单位是毫秒。了解Redis的朋友应该一看就明白,二者很像。RabbitMQ可以对消息和队列设置TTL。Rabbit原创 2020-06-18 22:35:03 · 544 阅读 · 0 评论 -
RabbitMQ(一):RabbitMQ快速入门
RabbitMQ(一):RabbitMQ快速入门RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。作为一名合格的开发者,有必要对RabbitMQ有所了解,本文是RabbitMQ快速入门文章,主要内容包括RabbitMQ是什么、RabbitMQ核心概念、常用交换器类型、用Docker安装RabbitMQ等。RabbitMQ简介以熟悉的电商场景为例,如果商品服务和订单服务是两个不同的微服务,在下单的过程中订单服务需要调用商品服务进行扣库存操作。按照传统的方式,下单过原创 2020-06-18 22:33:07 · 860 阅读 · 0 评论