- 1 什么是TTL 即生存时间。也就是说: RabbitMQ支持消息的过期时间,可以在消息发送时指定RabbitMQ支持为每个队列设置消息的超时时间,从消息入队开始计算,只要超过队列的超时时间配置,那么消息会被自动清除 2 管控台演示 新增一个队列 新增一个交换机 绑定 队列中也显示了相关的绑定信息 发送消息 10s后,消息被清除为0 ... 1 什么是TTL 即生存时间。也就是说: RabbitMQ支持消息的过期时间,可以在消息发送时指定RabbitMQ支持为每个队列设置消息的超时时间,从消息入队开始计算,只要超过队列的超时时间配置,那么消息会被自动清除 2 管控台演示 新增一个队列 新增一个交换机 绑定 队列中也显示了相关的绑定信息 发送消息 10s后,消息被清除为0 ...
- 1 什么是幂等性 用户对于同一操作发起的一次请求或者多次请求的结果是一致的。 比如数据库的乐观锁,在执行更新操作前,先去数据库查询version,然后执行更新语句,以version作为条件,如果执行更新时有其他人先更新了这张表的数据,那么这个条件就不生效了,也就不会执行操作了,通过这种乐观锁的机制来保障幂等性. 2 Con幂等性 2.1 什么是Con幂等性 消... 1 什么是幂等性 用户对于同一操作发起的一次请求或者多次请求的结果是一致的。 比如数据库的乐观锁,在执行更新操作前,先去数据库查询version,然后执行更新语句,以version作为条件,如果执行更新时有其他人先更新了这张表的数据,那么这个条件就不生效了,也就不会执行操作了,通过这种乐观锁的机制来保障幂等性. 2 Con幂等性 2.1 什么是Con幂等性 消...
- Exchange:接收消息,并根据路由键转发消息所绑定的队列。注意交换机并非一个单独运行的进程,而是一个有着“地址”的列表而已。 蓝区 - Send Message:把消息投递到交换机,由 RoutingKey 路由到指定队列。 1 交换机属性 声明交换机时可以附带许多属性: Name 交换机名称Type 交换机类型,direct、topic、 fanout、 ... Exchange:接收消息,并根据路由键转发消息所绑定的队列。注意交换机并非一个单独运行的进程,而是一个有着“地址”的列表而已。 蓝区 - Send Message:把消息投递到交换机,由 RoutingKey 路由到指定队列。 1 交换机属性 声明交换机时可以附带许多属性: Name 交换机名称Type 交换机类型,direct、topic、 fanout、 ...
- 1 概述 RabbitMQ允许你为messages和queues设置TTL(存活时间)。这可以使用可选的queue 参数或策略来完成(建议使用后一个选项)。 Message TTL可以应用于单个队列,一组队列或逐个消息地应用。 TTL设置也可以由操作策略强制执行。 队列中的 Per-Queue消息TTL Message TTL可以通过使用策略设置message... 1 概述 RabbitMQ允许你为messages和queues设置TTL(存活时间)。这可以使用可选的queue 参数或策略来完成(建议使用后一个选项)。 Message TTL可以应用于单个队列,一组队列或逐个消息地应用。 TTL设置也可以由操作策略强制执行。 队列中的 Per-Queue消息TTL Message TTL可以通过使用策略设置message...
- 背景 RabbitMQ 自 V3.5.0 有优先级队列实现。使用客户端提供的可选参数可将任何队列转换为优先级(但与使用可选参数而不是策略的其他功能不同)。其实现支持有限数量的优先事项:255。但推荐值介于: 1 ~ 10。 使用客户端提供的可选参数 要声明优先级队列,使用 x-max-priority 参数。此参数应为介于 1 和 255 之间的正整数,指示队列应... 背景 RabbitMQ 自 V3.5.0 有优先级队列实现。使用客户端提供的可选参数可将任何队列转换为优先级(但与使用可选参数而不是策略的其他功能不同)。其实现支持有限数量的优先事项:255。但推荐值介于: 1 ~ 10。 使用客户端提供的可选参数 要声明优先级队列,使用 x-max-priority 参数。此参数应为介于 1 和 255 之间的正整数,指示队列应...
- 1 什么是DLX? 利用DLX,当消息在一个队列中变成死信后,它能被重新发布到另一个Exchange中,这个Exchange就是DLX。 本质就是该消息不会再被任何消费端消费(但你可以自定义某消费者单独处理这些死信)。 2 DLX产生场景 消息被拒绝(basic.reject/basic.nack),且requeue = false消息因TTL过期队列达到最大长度... 1 什么是DLX? 利用DLX,当消息在一个队列中变成死信后,它能被重新发布到另一个Exchange中,这个Exchange就是DLX。 本质就是该消息不会再被任何消费端消费(但你可以自定义某消费者单独处理这些死信)。 2 DLX产生场景 消息被拒绝(basic.reject/basic.nack),且requeue = false消息因TTL过期队列达到最大长度...
- 1 服务端确认 - Transaction模式 注意,此事务非数据库的事务概念! //将channel设置成事务模式 - channel.txSelect(); //提交事务 - channel.txCommit(); //事务回滚 - channel.txRollback(); 123456 当消息的发布者在将消息发送出去之后,消息到底有没有正确到达... 1 服务端确认 - Transaction模式 注意,此事务非数据库的事务概念! //将channel设置成事务模式 - channel.txSelect(); //提交事务 - channel.txCommit(); //事务回滚 - channel.txRollback(); 123456 当消息的发布者在将消息发送出去之后,消息到底有没有正确到达...
- 1 安装 brew install rabbitmq 1 默认安装路径 安装成功后,文件在该路径下:/usr/local/Cellar/rabbitmq/版本号/ 2 启动服务器 2.1 命令行启动 进入安装路径后输入 sbin/rabbitmq-server 1 启动服务器,启动成功之后会显示completed with N plugins,我这里... 1 安装 brew install rabbitmq 1 默认安装路径 安装成功后,文件在该路径下:/usr/local/Cellar/rabbitmq/版本号/ 2 启动服务器 2.1 命令行启动 进入安装路径后输入 sbin/rabbitmq-server 1 启动服务器,启动成功之后会显示completed with N plugins,我这里...
- 最开始我们都是编写while循环,通过consumer.nextDelivery方法获取下一条消息,然后进行消费处理。 其实还有另一种选择,使用自定义的Consumer,它更方便,解耦性更强,也是在实际工作中最常用的使用方式。 自定义Con实现只需要继承 DefaultConsumer 类,重写 handleDelivery 方法即可。 代码实现 自定义Con ... 最开始我们都是编写while循环,通过consumer.nextDelivery方法获取下一条消息,然后进行消费处理。 其实还有另一种选择,使用自定义的Consumer,它更方便,解耦性更强,也是在实际工作中最常用的使用方式。 自定义Con实现只需要继承 DefaultConsumer 类,重写 handleDelivery 方法即可。 代码实现 自定义Con ...
- 前言 主题模式下,消费者能够接收到符合某一主题的的消息,消息的匹配规则如下: * (star) 匹配一个字符; # (hash)匹配0~n个字符; 架构如下: image.png 代码 build.gradle plugins { id 'java' } group 'com.nick' version '1.0-SNAPSHOT' sourceComp... 前言 主题模式下,消费者能够接收到符合某一主题的的消息,消息的匹配规则如下: * (star) 匹配一个字符; # (hash)匹配0~n个字符; 架构如下: image.png 代码 build.gradle plugins { id 'java' } group 'com.nick' version '1.0-SNAPSHOT' sourceComp...
- 前言 本文介绍java客户端如何实现工作队列,入下图所示,生产者P生产消息,消息传送到队列,C1,C2轮流消费消息。 image.png 代码 build.gradle plugins { id 'java' } group 'com.nick' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 reposi... 前言 本文介绍java客户端如何实现工作队列,入下图所示,生产者P生产消息,消息传送到队列,C1,C2轮流消费消息。 image.png 代码 build.gradle plugins { id 'java' } group 'com.nick' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 reposi...
- 前言 本文简要介绍如何使用java客户端,连接rabbitmq server。本文开始之前,需要安装好mq服务器,如果不知道怎么安装,可参考rabbitmq安装 使用架构 image.png 使用gradle java项目 代码 build.gradle plugins { id 'java' } group 'com.nick' version ... 前言 本文简要介绍如何使用java客户端,连接rabbitmq server。本文开始之前,需要安装好mq服务器,如果不知道怎么安装,可参考rabbitmq安装 使用架构 image.png 使用gradle java项目 代码 build.gradle plugins { id 'java' } group 'com.nick' version ...
- 前言 本文介绍如何安装rabbitmq,安装版本为写该文章时的稳定最新版。 安装步骤 安装erlang CentOS 7中安装Erlang 20.x,新建文件/etc/yum.repos.d/rabbitmq-erlang.repo: # In /etc/yum.repos.d/rabbitmq-erlang.repo [rabbitmq-erlang] name=rabb... 前言 本文介绍如何安装rabbitmq,安装版本为写该文章时的稳定最新版。 安装步骤 安装erlang CentOS 7中安装Erlang 20.x,新建文件/etc/yum.repos.d/rabbitmq-erlang.repo: # In /etc/yum.repos.d/rabbitmq-erlang.repo [rabbitmq-erlang] name=rabb...
- 前言 Routing模式通过routingKey,决定发送和接收路径架构如下: image.png 代码 build.gradle plugins { id 'java' } group 'com.nick' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentr... 前言 Routing模式通过routingKey,决定发送和接收路径架构如下: image.png 代码 build.gradle plugins { id 'java' } group 'com.nick' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentr...
- 前言 发布订阅模式,如下所示: p: 生产者,生产消息; x: 交换机,接收消息; c1,c2: 消息队列 image.png 代码 build.gradle plugins { id 'java' } group 'com.nick' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositorie... 前言 发布订阅模式,如下所示: p: 生产者,生产消息; x: 交换机,接收消息; c1,c2: 消息队列 image.png 代码 build.gradle plugins { id 'java' } group 'com.nick' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositorie...
上滑加载中
推荐直播
-
华为云软件开发生产线(CodeArts)1月&2月新特性解读
2025/03/18 周二 19:00-20:00
阿星 华为云高级产品经理
不知道产品的最新特性?没法和产品团队建立直接的沟通?本期直播产品经理将为您解读华为云软件开发生产线1月&2月发布的新特性,并在直播过程中为您答疑解惑。
回顾中 -
基于能力图谱的openGauss项目闯关
2025/03/20 周四 19:00-20:30
华为开发者布道师
想成为顶级数据库开发者吗?本次直播将从银行业务系统的数据库设计出发,带你逐步掌握openGauss的建库表、数据封装、密态技术、性能调优及AI应用。通过实战案例,全面展示openGauss的强大功能,助你提升技能,为未来的职业发展打下坚实基础。立即报名,开启你的数据库进阶之旅!
回顾中 -
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day1)
2025/03/29 周六 09:00-18:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中
热门标签