![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RabbitMQ
消息中间件之RabbitMQ
Felix-Yuan
Better And Better
展开
-
RabbitMQ 的核心组件&工作原理【很重要】
RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面都表现不俗,也是目前社区活跃度较高的消息中间件之一。本文我们就来看看RabbitMQ很重要的核心的组件。一、RabbitMQ简介RabbitMQ是一个用Erlang语言开发的、实现了AMQP协议的消息中间件。AMQP :Advanced Message Queue,高级消息队列协议。它...原创 2020-02-24 23:56:25 · 3951 阅读 · 0 评论 -
RabbitMQ如何保证幂等性?
有个兄弟去年参加阿里面试的时候,就被问到了幂等性的问题。幂等性是分布式系统设计中的一个重要概念,是在做系统或者接口设计时要着重考虑的问题,尤其像支付宝、银行、互联网金融等涉及钱的系统,既要高效,数据也要准确,绝对不能出现多扣款,多打款等问题,幂等性的设计就显得更为重要了。本文我们就先来解释一下什么是幂等性?然后再看一下在MQ中怎么保证幂等性?一、什么是幂等?幂等性的实质是:对于一个...原创 2020-03-01 17:57:02 · 6314 阅读 · 7 评论 -
RabbitMQ如何保证消息的可靠传输?
一、消息的可靠传输消息的可靠传输是指消息从Producer发送到Broker,再到Consumer被消费的整个过程中,要确保消息不丢失,如果出现消息丢失的情况,系统也要能发现,并执行一些补偿措施,而不是消息丢了都不知道,石沉大海。如图,消息从Producer发送到Broker再到Consumer被消费的整个传输过程中,因为网络中断等原因,可能会造成消息的丢失,出现消息丢失的情况有...原创 2020-03-01 17:52:10 · 1314 阅读 · 1 评论 -
SpringBoot + RabbitMQ 实现"主题模式"
RabbitMQ官网提供了七种队列模型,分别是:简单队列、工作队列、发布订阅、路由模式、主题模式、RPC模式、发布者确认模式。本文在SpringBoot+RabbitMQ环境实现"主题模式"。一、主题模式特点:1、X代表交换机,生产者没有将消息直接发送到队列,而是先发送到了交换机。2、主题模式的交换机类型为topic。3、一个队列可以有多个消费者,但发送到队列的消息...原创 2020-03-01 17:45:22 · 1205 阅读 · 0 评论 -
SpringBoot + RabbitMQ 实现"路由模式"
RabbitMQ官网提供了七种队列模型,分别是:简单队列、工作队列、发布订阅、路由模式、主题模式、RPC模式、发布者确认模式。本文在SpringBoot+RabbitMQ环境实现"路由模式"。一、路由模式特点:1、X代表交换机,生产者没有将消息直接发送到队列,而是先发送到了交换机。2、路由模式的交换机类型为direct。3、一个队列可以有多个消费者,但发送到队列的消...原创 2020-03-01 17:39:29 · 2133 阅读 · 0 评论 -
SpringBoot + RabbitMQ 实现"订阅模式"
RabbitMQ官网提供了七种队列模型,分别是:简单队列、工作队列、发布订阅、路由模式、主题模式、RPC模式、发布者确认模式。本文在SpringBoot+RabbitMQ环境实现"订阅模式"。一、订阅模式特点:1、X代表交换机,生产者没有将消息直接发送到队列,而是先发送到了交换机。2、订阅模式的交换机类型为fanout。3、一个队列可以有多个消费者,但发送到队...原创 2020-03-01 17:28:05 · 3037 阅读 · 0 评论 -
SpringBoot+RabbitMQ 实现"工作队列"
RabbitMQ官网提供了七种队列模型,分别是:简单队列、工作队列、发布订阅、路由模式、主题模式、RPC模式、发布者确认模式。本文在springboot中实现"工作队列"。一、工作队列特点:一个生产者,多个消费者;注意:一条消息只能被一个消费者消费,不能被多个消费者重复消费;二、在SpringBoot中的实现还是新建2个springboot项目,一个 rabbit...原创 2020-03-01 17:19:31 · 1213 阅读 · 0 评论 -
SpringBoot + RabbitMQ 实现"简单队列"
一、简单队列特点:一个生产者,一个消费者。二、在SpringBoot中的实现首先我们新建2个springboot项目,一个 rabbitmq-provider (生产者),一个rabbitmq-consumer(消费者),springboot已经集成了RabbitMQ,直接引入spring-boot-starter-amqp。> pom依赖<dependenc...原创 2020-02-26 23:26:58 · 846 阅读 · 2 评论 -
Linux环境安装配置RabbitMQ服务
Linux发行版本:CentOS 7.7RabbitMQ版本:3.6.81、安装依赖环境# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel2、安装erlang# yum install erlang检测erLang是否安装成功#...原创 2020-02-26 22:12:30 · 1891 阅读 · 2 评论 -
消息队列MQ
一、MQ是什么?MQ全称Message Queue,中文名称消息队列。顾名思义,它就是一个队列,简单来说就是一个应用程序A将数据丢到一个队列中,由另一个应用程序B从队列中拿到这个数据,再去做一些其他的业务操作。我们把应用程序A叫做生产者,应用程序B叫做消费者,它们之间传输的数据称作消息。那相比"程序A通过调用接口的方式直接将数据传给B",引入一个队列有什么好处呢?接着往下看MQ的使用场...原创 2020-02-24 23:50:11 · 833 阅读 · 0 评论