| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> Java知识库 -> RabbitMQ (三)高级特性 实现 死信队列 DLX TTL 消费端限流prefetch 消息可靠传递 confirm return 幂等性保障 -> 正文阅读 |
|
|
[Java知识库]RabbitMQ (三)高级特性 实现 死信队列 DLX TTL 消费端限流prefetch 消息可靠传递 confirm return 幂等性保障 |
|
本来想带过一下rabbit整合spring和spring-boot,我看网上很多相关文档,就没什么必要了,就来总结一下一些高级特性给自己看看。本章主要以理论为主,至于代码和使用,我在git上放了一套简单易懂的 例程。可以下载下来,在advance(高级)中,有延时队列可供参考。如过需要其学习rabbitMq其他简单使用可以阅读 RabbitMq (一)理论篇部分RabbitMQ(二)实践篇 前言一、消息的可靠性传递在使用RabbitMQ的时候,为了确保消息抵达Broker,Rabbit提供了两种方式供用户来控制消息投递的可靠性模式
RabbitMQ消息的整个投递过程:
使用步骤大体是模式开启,写一下回调函数。做法不同的架构写的不太一样,但意思都是一样的,如果你发现你写的监听不起作用,八成就是模式没开启。
二、消息的可靠性接收上面讲的可靠性传递,只是确定到了queue,那还需要确定消息到达消费端。 有三种确认方式:
三、消费端限流如果请求瞬间增多,超过最大处理请求,会导致系统奔溃。加以限制,让系统慢慢处理,就可以缓解请求突增的情况。 四、TTLTTL全称Time To Live(存活时间、过期时间),当消息到达存活时间后,还没有被消费,会自动被删除。
五、死信队列DLX(dead letter exchange 死信交换机),当一个消息成为 dead message 后,可被重新发送到另一交换机,这个交换机就是DLX
六、延时队列消息进入队列后不会立即被消费 ,等待达到时间后被消费。很可惜,RabbitMQ没有提供延时队列功能,但是可以使用TTL+死信队列组合实现延时队列效果
七、幂等性保障一次或多次请求某一个资源,对于资源本身应该具有同一个效果。在MQ中,指消费同一条消息多次,得到消费该消息一次相同效果。 通过version版本控制
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年12日历 | -2025/12/6 22:07:31- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |