RabbitMQ
RabbitMQ
互联网叫兽
现在,青春是用来奋斗的;将来,青春是用来回忆的。
展开
-
RabbitMQ自学之路(十)——RabbitMQ知识点整理
一、RabbitMQ 中 vhost 的作用是什么?vhost:每个 RabbitMQ 都能创建很多 vhost,我们称之为虚拟主机,每个虚拟主机其实都是 mini 版的RabbitMQ,它拥有自己的队列,交换器和绑定,拥有自己的权限机制。二、RabbitMQ 有哪些重要的组件?ConnectionFactory(连接管理器):应用程序与Rabbit之间建立连接的管理器,程序代码中使用。Channel(信道):消息推送使用的通道。Exchange(交换器):用于接受、分配消息。Queue(队列)原创 2020-09-06 16:21:47 · 636 阅读 · 0 评论 -
RabbitMQ自学之路(九)——RabbitMQ实现延时队列的两种方式
一、什么是延时队列延时队列顾名思义,即放置在该队列里面的消息是不需要立即消费的,而是等待一段时间之后取出消费。二、延时队列应用于什么场景场景一:在订单系统中,一个用户下单之后通常有30分钟的时间进行支付,如果30分钟之内没有支付成功,那么这个订单将进行一场处理。这是就可以使用延时队列将订单信息发送到延时队列。场景二:用户希望通过手机远程遥控家里的智能设备在指定的时间进行工作。这时候就可以将...原创 2019-06-29 02:01:52 · 9228 阅读 · 2 评论 -
RabbitMQ自学之路(八)—— RabbitMQ死信/死信队列及实现源码
死信/死信队列及死信交换机是什么,和mq中队列交换机有什么关系,我这里用一张图来概括下(图片来源网上)从图中发现知:生产者发送的消息会经由交换机传送到绑定的队列中,然后经由消费者接受消息,消息一旦被消费者消费后,就会移除队列中,表示整个流程的结束。但是如果消息没有被消费成功(或者说消息变为了死信),那么正常来说和原来的(正常)队列绑定的消费者就无法消费消息,那么变为死信的消息怎么处理啦!...原创 2019-06-28 00:41:23 · 6117 阅读 · 0 评论 -
RabbitMQ自学之路—— RabbitMQ错误信息提示
spring: rabbitmq: #服务器ip host: 127.0.0.1 #端口号 port: 5672 #用户名 username: admin #密码 password: 123456默认的端口就是5672,用户guest密码guest,但这个用户名只能在本机访问,如果要网络访问,需要做用户管理;1、如果写错了...原创 2019-06-27 21:44:42 · 2180 阅读 · 0 评论 -
RabbitMQ自学之路(七)—— RabbitMQ消息发送确认与消息接收确认机制
通常,一个消息被消费者消费后,就会从Queue中移除了。这是因为RabbitMQ默认会在消息被消费者接收后,立即确认。但存在丢失消息的可能,如果消费端消费逻辑抛出异常,也就是消费端没有处理成功这条消息,那么就相当于丢失了消息。另外一种情况就是,我们在spring中处理消息时,即使消息处理没出异常,但是后续代码出异常造成回滚,这样其实也相当于丢失消息。所以一般情况下,手动确认要比较好一些。达...原创 2019-06-26 23:43:44 · 8630 阅读 · 2 评论 -
RabbitMQ自学之路(六)——-RabbitMQ实战场景(一)异步记录用户操作日志
传统的项目开发中业务流程以串行方式,执行了模块1—》模块2–》模块3而我们知道,这个执行流程其实对于整个程序来讲是有一定的弊端的,主要有几点:(1)整个流程的执行响应等待时间比较长;(2)如果某一个模块发生异常,可能会影响其他 模块甚至整个系统的执行流程与结果;(3)程序的代码上造成冗余,模块与模块需要进行强通信以及数据的交互,出现问题时难以定位与维护。耦合度过高!因此需要进行优化,将强...原创 2019-06-22 00:57:45 · 3253 阅读 · 4 评论 -
RabbitMQ自学之路(五)——-SpringBoot与RabbitMQ整合和对五种队列模式的实现
前面章节已经对RabbitMQ的五种队列模式进行了介绍,现在通过SpringBoot整合RabbitMQ来对五种队列模式进行一个更深入的描述一、springboot集成RabbitMQspringboot集成RabbitMQ非常简单,如果只是简单的使用配置非常少,springboot提供了spring-boot-starter-amqp对消息各种支持。1、配置pom文件,添加spring-b...原创 2019-06-21 00:43:13 · 2332 阅读 · 0 评论 -
RabbitMQ自学之路(四)——-RabbitMQ的五种队列模式介绍
RabbitMQ提供了6种消息模型,但是第6种其实是RPC,并不是MQ,因此不予学习。那么也就剩下5种。但是其实3、4、5这三种都属于订阅模型,只不过进行路由的方式不同。一、简单队列生产者将消息发送到队列,消费者从队列中获取消息。P(producer/ publisher):生产者,一个发送消息的用户应用程序。C(consumer):消费者,消费和接收有类似的意思,消费者是一个主要用来...原创 2019-06-20 23:42:29 · 2208 阅读 · 0 评论 -
RabbitMQ自学之路(三)—— RabbitMQ的使用
登陆RabbitMQ管理控制台一、添加用户一、分配角色RabbitMQ提供五类用户角色1、超级管理员(administrator)可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。2、监控者(monitoring)可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)3、策略制定者(policymak...原创 2019-06-20 23:41:27 · 608 阅读 · 0 评论 -
RabbitMQ自学之路(二)——windows下安装RabbitMQ和Erlang
安装RabbitMQ前,需要先安装Erlang。原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的一、安装Erlang下载地址:http://erlang.org/download/自己选择一个版本,可以的话,选择高版本好点安装完成。配置环境变量安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录,同时将**%ERL...原创 2019-06-20 23:40:56 · 1962 阅读 · 1 评论 -
RabbitMQ自学之路(一)—— RabbitMQ简介
RabbitMQ简介在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么?MQ全称是Message Queue,可以理解为消息队列的意思,简单来说就是消息以管道的方式进行传递。RabbitMQ是一个实现了AMQP(Advanced Message Queuing Protocol)高级消息队列协议的消息队列服务,用Erlang语言的。一、RabbitMQ 消息通信的过程RabbitM...原创 2019-06-21 00:37:10 · 2645 阅读 · 2 评论