
RabbitMQ
文章平均质量分 92
RabbitMQ
爱上口袋的天空
一步一流年,止不住的脚步,挽不回的青春!
展开
-
RabbitMQ集群搭建、镜像队列、实现高可用负载均衡、Federation Exchange、Federation Queue、Shovel
1、环境准备IP地址 主机名 192.168.56.20 conch01 192.168.56.21 conch02 192.168.56.22 conch03 2、安装 rabbitmq集群1、之前我们已经在conch01上面安装了一台rabbitmq,下面我们只需要在另外两台安装即可 conch02、conch032、配置.erlang.cookieRabbitMQ 的集群是依赖 er...转载 2022-05-22 12:22:46 · 773 阅读 · 0 评论 -
Rabbitmq之发布确认高级、回退消息、备份交换机、幂等性、优先级队列、惰性队列
一、发布确认高级1、简介在生产环境中由于一些不明原因,导致 rabbitmq重启,在RabbitMQ重启期间生产者消息投递失败,导致消息丢失,需要手动处理和恢复。于是,我们开始思考,如何才能进行RabbitMQ的消息可靠投递呢?特别是在这样比较极端的情况,RabbitMQ集群不可用的时候,无法投递的消息该如何处理呢:2、代码实现2.1、配置文件:添加spring.rabbitmq.publisher-confirm-type = correlated2....转载 2022-05-22 09:42:08 · 308 阅读 · 0 评论 -
Rabbitmq之整合Springboot,普通队列以及死信队列demo实例,队列优化以及插件实现延迟队列
1、引入pom.xml依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.a转载 2022-05-21 19:19:20 · 417 阅读 · 0 评论 -
RabbitMQ之死信队列、延迟队列
一、死信队列1、简介死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer将消息投递到 broker或者直接到queue里了,consumer 从 queue取出消息进行消费,但某些时候由于特定的原因导致queue中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信,有死信自然就有了死信队列。 应用场景:为了保证订单业务的消息数据不丢失,需要使用到RabbitMQ的死信队列机制,当消息消费发生异常时,将消息投入死信队列中.还有比如说:用户在商城下单成功转载 2022-05-20 21:48:13 · 431 阅读 · 0 评论 -
RabbitMQ之交换机、临时队列、Bindings、Fanout、Direct、Topics
一、交换机简介 RabbitMQ消息传递模型的核心思想是:生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道这些消息传递传递到了哪些队列中。 相反,生产者只能将消息发送到交换机(exchange),交换机工作的内容非常简单,一方面它接收来自生产者的消息,另一方面将它们推入队列。交换机必须确切知道如何处理收到的消息。是应该把这些消息放到特定队列还是说把他们到许多队列中还是说应该丢弃它们。这就的由交换机的类型来决定。 总共有以下几个类型:直接(direct)、主转载 2022-05-17 22:38:11 · 474 阅读 · 0 评论 -
RabbitMQ之持久化、不公平分发、 预取值、发布确认模式
一、持久化1、简介刚刚我们已经看到了如何处理任务不丢失的情况,但是如何保障当RabbitMQ服务停掉以后消息生产者发送过来的消息不丢失。默认情况下RabbitMQ退出或由于某种原因崩溃时,它忽视队列和消息,除非告知它不要这样做。确保消息不会丢失需要做两件事:我们需要将队列和消息都标记为持久化。2、队列持久化之前我们创建的队列都是非持久化的,rabbitmq如果重启的化,该队列就会被删除掉,如果要队列实现持久化需要在声明队列的时候把durable参数设置为...转载 2022-05-15 20:50:31 · 238 阅读 · 0 评论 -
RabbitMQ之工作队列、消息应答原理、消息手动应答代码案例
一、工作队列1、简介工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。2、实现工作队列2.1、抽取连接工厂工具类package com.kgf.rabbitmq.two;import com.rabbitmq.client.Channel;import co...转载 2022-05-14 20:59:22 · 268 阅读 · 0 评论 -
RabbitMQ安装以及java连接RabbitMQ之HelloWorld入门
一、安装入门1、安装Erlang路径:https://github.com/rabbitmq/erlang-rpm/releases/download/v23.2.6/erlang-23.2.6-1.el7.x86_64.rpmhttps://github.com/rabbitmq/erlang-rpm/releases/download/v23.2.6/erlang-23.2.6-1.el7.x86_64.rpmrpm -ivh erlang-23.2.6-1.el7.x86_64..转载 2022-05-14 12:31:59 · 461 阅读 · 0 评论 -
RabbitMQ简介、RabbitMQ 特点、AMQP 概念、生产者和消费者 、Broker 服务节点、Queue 队列、Exchange 交换器、如何保证消息的可靠性?
1、RabbitMQ入门简介RabbitMQ是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑RabbitMQ是一个快递站,一个快递员帮你传递快件。RabbitMQ.与快递站的主要区别在于,它不处理快件而是接收,存储和转发消息数据。2、四大核心概念3、核心部分4、RabbitMQ 特点可靠性: RabbitMQ 使用一些机...转载 2022-05-13 19:08:33 · 783 阅读 · 0 评论 -
什么是MQ?为什么要用MQ?MQ分类、MQ的选择
一、什么是MQ?MQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。二、为什么要用MQ1、流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我...转载 2022-05-12 22:45:23 · 15207 阅读 · 0 评论