RabbitMQ
文章平均质量分 57
博主学习消息中间件的记录与总结
ITKaven
ACMER
本科软件工程专业
硕士计算机技术专业
专注于WEB开发的烟酒僧
展开
-
RabbitMQ:Docker Compose部署RabbitMQ集群
部署RabbitMQ集群创建目录,用于存放Docker Compose部署RabbitMQ集群的yaml文件:mkdir -p /root/composefile/rabbitmq写入该yaml文件:vim /root/composefile/rabbitmq/rabbitmq_cluster.yaml内容如下所示:version: '3'services: rabbitmq1: image: rabbitmq:management restart:原创 2022-02-17 16:50:15 · 4446 阅读 · 2 评论 -
RabbitMQ:@RabbitListener注解简化消息监听
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 https://maven.apache.org/xsd/ma原创 2022-02-17 12:34:28 · 4798 阅读 · 1 评论 -
RabbitMQ:MessageConverter消息转换器
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 https://maven.apache.org/xsd/ma原创 2022-02-16 19:37:08 · 5880 阅读 · 0 评论 -
RabbitMQ:MessageListenerAdapter消息监听器适配器使用与源码分析
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 https://maven.apache.org/xsd/ma原创 2022-02-16 16:38:40 · 2164 阅读 · 0 评论 -
RabbitMQ:SimpleMessageListenerContainer并发消费
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 https://maven.apache.org/xsd/ma原创 2022-02-16 14:45:11 · 3403 阅读 · 1 评论 -
RabbitMQ:实现消息确认与消息返回
不了解RabbitMQ的消息确认与消息返回可以参考下面两篇博客:RabbitMQ:消息确认机制RabbitMQ:Return消息机制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:schemaLoca原创 2022-02-16 13:12:56 · 5180 阅读 · 0 评论 -
RabbitMQ:整合Spring Boot
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 https://maven.apache.org/xsd/ma原创 2022-02-15 23:51:35 · 1353 阅读 · 0 评论 -
RabbitMQ:Docker Compose部署RabbitMQ
创建目录,用于存放Docker Compose部署RabbitMQ的yaml文件:mkdir -p /root/composefile/rabbitmq写入该yaml文件:vim /root/composefile/rabbitmq/rabbitmq.yaml内容如下所示:version: '3'services: rabbitmq: image: rabbitmq:management container_name: rabbitmq restart: alwa原创 2022-02-14 19:13:04 · 4315 阅读 · 0 评论 -
RabbitMQ:死信队列
Java初识RabbitMQ一死信队列什么是死信队列死信队列,DLX(dead-letter-exchange),利用DLX,当消息在一个队列中变成死信 (dead message) 之后,它能被重新投递到另一个exchange上,这个exchange就是DLX,似乎叫死信交换机更加贴切,当死信投递到这个exchange后,我们也可以用queue来绑定该exchange,该exchange可以...原创 2020-02-13 15:17:32 · 1888 阅读 · 0 评论 -
RabbitMQ:过期时间(TTL)
Java初识RabbitMQ一过期时间(TTL)过期时间(TTL)TTL(Time To Live),也就是过期时间。RabbitMQ可以对消息和队列设置TTL。设置消息的TTL设置消息TTL的两种方式:通过队列属性设置,队列中所有消息都有一样的TTL。对消息本身进行单独设置TTL。如果两种方式一起使用,则消息的TTL以两者之间较小的那个数值为准。消息在队列中的生存时间一旦超过...原创 2020-02-13 14:23:54 · 1665 阅读 · 0 评论 -
RabbitMQ:重回队列
Java初识RabbitMQ一消费端ACK与重回队列在Java初识RabbitMQ一消费端限流这篇博客中我们讲了,要使用RabbitMQ的QOS,要把autoAck设置成false,这时我们就要进行手动ack了,但是之前的博客中我们只实践了手动ack,而没有实践过手动no ack ,当消费端认为消息消费不成功时,便会应答no ack,以便说明这个消息我(消费端)没有消费成功,接下来就看Rabbi...原创 2020-02-13 11:32:26 · 4374 阅读 · 0 评论 -
RabbitMQ:消费端限流
Java初识RabbitMQ一消费端限流为什么要对消费端限流假设一个场景,首先,我们 Rabbitmq 服务器积压了有上万条未处理的消息,我们随便打开一个消费端,巨量的消息就会瞬间全部推送过来,但是我们单个消费端是无法同时处理这么多消息的。当数据量特别大的时候,我们对生产端限流肯定是不科学的,因为有时候并发量就是特别大,有时候并发量又特别少,我们无法约束生产端,这是用户的行为。所以我们应该对...原创 2020-02-12 21:03:05 · 1969 阅读 · 0 评论 -
RabbitMQ:消费端自定义监听
Java初识RabbitMQ一消费端自定义监听之前的例子中,消费端实现监听绑定的Queue是否有准备好了的消息时,是通过一个while死循环来实现的,看起来很不优雅,如下所示: // 接收消息 while (true){ QueueingConsumer.Delivery delivery = consumer.nextDelivery()...原创 2020-02-12 15:29:25 · 6067 阅读 · 0 评论 -
RabbitMQ:Return消息机制
Java初识RabbitMQ一Return消息机制什么是Return消息机制Return消息机制用于处理一些不可路由的消息。正常情况下,消息生产端通过指定一个Exchange和RoutingKey,把消息路由到某一个队列中去,然后消费端监听队列,进行消费。但在某些情况下,如在发送消息的时候,当前的Exchange不存在或者指定的RoutingKey路由不到Queue,这个时候,如果我们需要监听...原创 2020-02-12 14:42:39 · 1948 阅读 · 0 评论 -
RabbitMQ:消息确认机制
Java初识RabbitMQ一消息确认机制生产端Confirm消息确认机制消息确认,是指生产端投递消息后,如果Broker收到消息,则会给我们生产端一个应答。生产端接收应答,用来确定这条消息是否正常发送到Broker,这种方式也是消息可靠性投递的核心保障!Confirm确认机制流程图如何实现Confirm消息确认机制?我们需要实现Confirm消息确认机制,首先我们必须要开启这种机制。...原创 2020-02-12 13:01:32 · 2525 阅读 · 1 评论 -
RabbitMQ:交换机(fanout exchange)
Java初识RabbitMQ一交换机(fanout exchange)首先看看AMQP协议,对RabbitMQ的架构会更了解。深入理解AMQP协议创建一个Maven项目,根据自己服务器RabbitMQ的版本导入相应的包。 <dependency> <groupId>com.rabbitmq</groupId> <artifactId...原创 2020-02-11 16:53:40 · 2233 阅读 · 0 评论 -
RabbitMQ:交换机(topic exchange)
Java初识RabbitMQ一交换机(topic exchange)首先看看AMQP协议,对RabbitMQ的架构会更了解。深入理解AMQP协议创建一个Maven项目,根据自己服务器RabbitMQ的版本导入相应的包。 <dependency> <groupId>com.rabbitmq</groupId> <artifactId&...原创 2020-02-11 16:20:26 · 2325 阅读 · 0 评论 -
RabbitMQ:交换机(direct exchange)
Java初识RabbitMQ一交换机(direct exchange)首先看看AMQP协议,对RabbitMQ的架构会更了解。深入理解AMQP协议创建一个Maven项目,根据自己服务器RabbitMQ的版本导入相应的包。 <dependency> <groupId>com.rabbitmq</groupId> <artifactId...原创 2020-02-10 22:15:00 · 1805 阅读 · 0 评论 -
RabbitMQ:交换机(default exchange)
Java初识RabbitMQ一首先看看AMQP协议,对RabbitMQ的架构会更了解。深入理解AMQP协议创建一个Maven项目,根据自己服务器RabbitMQ的版本导入相应的包。 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</...原创 2020-02-09 23:35:55 · 4656 阅读 · 0 评论 -
CentOS:下载RabbitMQ并远程访问
阿里云服务器CentOS7.3下载RabbitMQ并且可以远程访问首先要下载必要环境。yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz接下来下载并且安装erlang语言,为了照...原创 2020-02-09 20:14:49 · 3385 阅读 · 0 评论 -
深入理解AMQP协议
深入理解AMQP协议一、AMQP 是什么AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一个进程间传递异步消息的网络协议。二、AMQP模型工作过程发布者(Publisher)发布消息(Message),经由交换机(Exchange)。交换机根据路由规则将收到的消息分发给与该交换机绑定的队列(Queue)。最后 AMQP 代理会将消息...转载 2020-02-08 17:58:41 · 1659 阅读 · 0 评论 -
消息中间件概述
消息中间件概述原文地址消息中间件概述中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯非底层操作系统软件,非业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称中间件。学术界定义中间件是指网络环境下处于操作系统、数据库等系统软件和应用软件之间的一种起连接作用的分...转载 2020-02-08 15:33:39 · 1096 阅读 · 0 评论 -
RabbitMQ汇总
基础正文未完待续扩展阅读MOM与JMS原创 2020-02-08 15:13:46 · 1842 阅读 · 4 评论