草庐IT

RabbitMQ

全部标签

RabbitMQ简介

1.什么是MQMQ全称为MessageQueue-消息队列,是一种应用程序对应用程序的消息通信,一端只管往队列不断发布信息,另一端只管往队列中读取消息,发布者不需要关心读取消息的谁,读取消息者不需要关心发布消息的是谁,各干各的互不干扰。(简单理解就是两个应用之间的数据传输)2.为什么使用MQ2.1解耦引入MQ后,不需要关心发布者及消费者之间的关系,这两者不需要彼此联系,减少系统之间的直接依赖。2.2异步对于数据量大或者处理耗时长的操作,可以引入MQ实现异步通信,减少客户端的等待,提升响应速度。2.3削峰对于会出现瞬间的流量峰值的系统,可以引入MQ实现流量削峰,达到保护应用和数据库的目的。3.各

RabbitMQ交换机(3)-Topic

1.Topic模式RabbitMQ的Topic模式是一种基于主题的消息传递模式。它允许发送者向一个特定的主题(topic)发布消息,同时,订阅者也可以针对自己感兴趣的主题进行订阅。在Topic模式中,主题通过一个由单词和点号组成的字符串来描述。例如,“#.china”表示匹配所有以“china”为结尾的主题,比如“bj.china”或“china”等。(‘#’和‘*’会再后面介绍)当一个消息被发布到Topic交换机(Exchange)时,交换机会将消息转发给所有与该主题匹配的队列。消费者(即订阅者)可以对队列进行绑定,通过指定自己感兴趣的主题进行绑定。通过使用Topic模式,我们可以实现高度灵

RabbitMQ高级特性

消息的可靠性消息的可靠性保证:保证消息在传输过程中不会出现消息丢失的情况,确保发送的消息至少被消费一次。消息的可靠性问题消息从生产者生成,到消费者消费,大致可分为三个阶段,这三阶段都有可能出现消息丢失的情况阶段一中:如果生产者实现代码中的交换机名称填写错误,那么在mq上找不到对应的交换机,发送的消息会出现丢失。阶段二中:生产者实现代码中的routingKey为“a”,交换机与队列绑定的routingKey为“b”,这时交换机将消息发送到队列时,由于两个key不相等,找不到对应的队列,消息存储失败,丢失阶段二中:消息默认存储在内存中,在消费者消费之前,如果mq服务器宕机,内存就会释放,消息出现丢

RabbitMQ系列之交换机的使用

 🎉🎉欢迎来到我的CSDN主页!🎉🎉🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚🌟推荐给大家我的博客专栏《RabbitMQ系列之交换机的使用》。🎯🎯🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁目录前言一、交换机的简介1.什么是交换机2.交换机的作用3.交换机的应用场景 4.图解说明 5.交换机属性二、 交换机类型讲解1.直连交换机(Directexchange)1.1基本概述1.2特点1.3 缺点2.主题交换机(Topicexchange)2.1基本概述 2.2特点 2.3应用场景3.扇形交换机(Fanoutexchange)3.1基本概述 3.2特点 3.3应用场景4.  首部交换机

CentOS7安装与卸载Erlang和RabbitMQ(一)

1.RabbitMQ的自我认识    RabbitMQ是一个在AMQP基础上完成的,可复用的消息中间件。        由于RabbitMQ是由Erlang语言开发,所以安装RabbitMQ之前需要先安装Erlang。        RabbitMQ是一个消息中间件:接收消息并转发,减少非必要逻辑占用系统用时。2.Erlang语言在CentOS7上的安装由于我使用的是CentOS7版本的系统,而目前市面上能找到的匹配el7版本的RabbitMQ安装包版本为3.10.0以下的版本,所以选择下载3.9.16-1.el7.noarch.rpm版本,再根据Erlang和RabbitMQ对应的版本确定,

rabbitmq延时队列相关配置

确保RabbitMQ的延时消息插件已经安装和启用。你可以通过执行以下命令来安装该插件:rabbitmq-pluginsenablerabbitmq_delayed_message_exchange如果提示未安装,以下是安装流程:查看mq版本:查看自己使用的MQ(消息队列)的版本,可以使用以下方法之一:查看MQ的安装目录或文档:在MQ的安装目录中,通常会包含一个关于版本信息的文件或文件夹,例如version.txt、README.md、docs等。你可以查找这些文件,其中应该包含有关MQ版本的信息。查看管理界面:某些MQ提供了管理界面,你可以通过浏览器登录管理界面,在界面上查看版本信息。通常,你

消息中间件之八股面试回答篇:一、问题概览+MQ的应用场景+RabbitMQ如何保证消息不丢失(生产者确认机制、持久化、消费者确认机制)+回答模板

问题概览目前主流的消息队列技术(MQ技术)分为RabbitMQ和Kafka,其中深蓝色为只要是MQ,一般都会问到的问题。浅蓝色是针对RabbitMQ的特性的问题。蓝紫色为针对Kafka的特性的问题。MQ的应用场景MQ主要提供的功能为:异步解耦削峰。展开来讲就是异步发送(验证码、短信、邮件…)MYSQL和Redis/ES之间的数据同步分布式事务削峰填谷RabbitMQ如何保证消息不丢失RabbitMQ的工作流程应该如下,其中每个环节都可能导致消息丢失。publisher叫做发布者,也可叫做生产者。consumer叫做消费者。生产者确认机制(解决消息未到达交换机或队列的问题)生产者确认机制是用来确

面试官:RabbitMQ如何实现延迟队列?

延迟队列是指当消息被发送以后,并不是立即执行,而是等待特定的时间后,消费者才会执行该消息。延迟队列的使用场景有以下几种:未按时支付的订单,30分钟过期之后取消订单。给活跃度比较低的用户间隔N天之后推送消息,提高活跃度。新注册会员的用户,等待几分钟之后发送欢迎邮件等。一、如何实现延迟队列?延迟队列有以下两种实现方式:通过消息过期后进入死信交换器,再由交换器转发到延迟消费队列,实现延迟功能;使用官方提供的延迟插件实现延迟功能。早期,大部分公司都会采用第一种方式,而随着RabbitMQ3.5.7(2015年底发布)的延迟插件的发布,因为其使用更简单、更方便,所以它现在才是大家普通会采用的,实现延迟队

RabbitMQ中交换机的应用及原理,案例的实现

目录一、介绍1.概述2.作用及优势3.工作原理二、交换机Exchange1. Direct2.Topic3. Fanout三、代码案例消费者代码  1.直连direct 生产者代码测试2. 主题topic 生产者代码测试3. 扇形fanout 生产者代码测试每篇一获一、介绍1.概述RabbitMQ中的交换机(exchange)是消息的分发中心,它接收来自生产者的消息,并将这些消息路由到一个或多个队列中。交换机根据消息的路由键(routingkey)将消息发送到相应的队列中。四型交换机直连交换机(directexchange):直连交换机根据消息的路由键将消息发送到与之匹配的队列中。如果消息的路

【RabbitMQ】快速入门及基本使用

一、引言1、、消息队列Ⅰ、什么是消息队列?        消息队列是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户。消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的数据,包含发生的时间,输入设备的种类,以及特定的输入参数。也就是说:消息的发送者和接收者不需要同时与消息队列交互。消息会保存在队列中,直到接收者取回它。Ⅱ、Messagequeue释义        服务之间最常见的通信方式是直接调用彼此来通信,消息从一端发出后立即就可以达到另一端,称为即时消息通讯(同步通信)消息从某一端发出后,首先进入一个容器进行临时存储,当达到某种条