首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
gcc
upload
spring
h2
token
wordpress
sms
php5
timezone
mvc
localhost
lua
pip
cPlusPlus
注入
go
ftp
pymongo
struct
rust
微服务
crontab
php
port
python
session
cpython
varnish
smtp
redis
base64
rabbitmq
phpmyadmin
storage
protocol-buffers
队列
mqtt
mysql
ruby
php绘图
stdout
sftp
压力测试
package
timeout
ffmpeg
pdo
lvs
java
frontend
uuid
http
http2
web3
vb
django
caching
多线程
api
service
x86
touch
爬虫
makefile
webserver
cookies
webhooks
log4j
lavarel
yaf
正则
server
上传
cSharp
jvm
golang
pipeline
hashmap
pipe
当前位置:
开发笔记
>
后端
> 正文
Kafka系列之:深入理解死信队列和重试队列
作者:郝蕾雅老_206 | 来源:互联网 | 2023-06-22 13:12
Kafka系列之:深入理解死信队列和重试队列一、死信队列二、回退队列三、深入理解死信队列四、深入理解重试队列五、重试队列和延时队列的区别一、死信队列由于某些原因消息
Kafka系列之:深入理解死信队列和重试队列
一、死信队列
二、回退队列
三、深入理解死信队列
四、深入理解重试队列
五、重试队列和延时队列的区别
一、死信队列
由于某些原因消息无法被正确地投递,为了确保消息不会被无故地丢弃,一般将其置于一个特殊角色的队列,这个队列一般称为私信队列。
后续分析程序可以通过消费这个死信队列中的内容来分析当时遇到的异常情况,进而可以改善和优化系统。
二、回退队列
与死信队列对应的还有一个回退队列的概念,如果消费者在消费时发生了异常那么就不会对这一次消费进行确认,进而发生回滚消息的操作之后,消息始终会放在队列的顶部,然后不断被处理和回滚,导致队列陷入死循环。
为了解决问题,可以为每个队列设置一个回退队列,它和死信队列都是为异常处理提供的一种机制保障。
实际情况下,回退队列的角色可以由死信队列和重试队列来扮演。
三、深入理解死信队列
理解死信队列,关键是要理解死信。死信可以看作消费者不能处理收到的消息,也可以看作消费者不想处理收到的消息,还可以看作不符合处理要求的消息。比如消息内包含的消息内容无法被消费者解析,为了确保消息的可靠性而不被随意丢弃,故将其投递到死信队列中,这里的死信就可以看作消费者不能处理的消息。再比如超过既定的重试次数之后将消息投入死信队列,这里就可以将死信看作不符合处理要求的消息。
四、深入理解重试队列
重试队列其实可以看作一种回退队列,具体指消费端消费消息失败时,为了防止消息无故丢失而重新将消息回滚到broker中。
与回退队列不同的是,重试队列一般分成多个重试等级,每个重试等级一般也会设置重新投敌延时,重试次数越多投递延时就越大。
举个例子:消息第一次消费失败入重试队列Q1,Q1的重新投递延时为5s,5s过后重新投递该消息。如果消息再次消费失败则入重试队列Q2,Q2的重新投递延时为10s,10s过后再次投递该消息,以此类推,重试越多次重新投递的时间就越久,为此还需要设置一个上限,超过投递次数就进入死信队列。
五、重试队列和延时队列的区别
重试队列与延时队列有相同的地方,都需要设置延时级别。
区别是:延时队列动作由内部触发,重试队列动作由外部消费端触发。
延时队列作用一次,而重试队列的作用范围会向后传递。
kafka
队列
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
go
全面解析运维监控:白盒与黑盒监控及四大黄金指标
本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ...
[详细]
蜡笔小新 2024-12-22 14:02:29
go
Netflix利用Druid实现高效实时数据分析
本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ...
[详细]
蜡笔小新 2024-12-23 11:10:01
redis
备战BAT面试:掌握这些MySQL核心问题
本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ...
[详细]
蜡笔小新 2024-12-20 18:58:01
redis
优化Spring Boot项目,大幅提升并发性能
本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ...
[详细]
蜡笔小新 2024-12-19 21:07:12
localhost
window下kafka的安装以及测试
目录一、安装JDK(需要安装依赖javaJDK)二、安装Kafka三、测试参考在Windows系统上安装消息队列kafka一、安装JDKÿ ...
[详细]
蜡笔小新 2024-12-16 12:01:36
redis
收割机|篇幅_国内最牛逼的笔记,不接受反驳!!
收割机|篇幅_国内最牛逼的笔记,不接受反驳!! ...
[详细]
蜡笔小新 2024-12-14 10:20:42
redis
Java日常开发的12个坑,你踩过几个?值得一读!
一面问题:MySQLRedisKafka线程算法mysql知道哪些存储引擎,它们的区别mysql索引在什么情况下会失效mysql在项目中的优化场景 ...
[详细]
蜡笔小新 2024-12-12 09:34:47
redis
Servlet 表单处理:GET 和 POST 请求的深入解析
本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ...
[详细]
蜡笔小新 2024-12-23 18:09:59
redis
深入解析Redis内存对象模型
本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ...
[详细]
蜡笔小新 2024-12-23 14:50:23
redis
优化GPS附近用户搜索的高效排序策略
探讨如何通过高效的数据库查询和排序策略,优化基于GPS位置信息的附近用户搜索功能,以应对大规模用户数据场景。 ...
[详细]
蜡笔小新 2024-12-23 14:26:59
redis
支持队列式写入并适合持久化的数据库有哪些?
本文探讨了哪些数据库支持队列式的写入操作(即一个键对应一个队列,数据可以连续入队),并且具备良好的持久化特性。这类需求通常出现在需要高效处理和存储大量有序数据的场景中。 ...
[详细]
蜡笔小新 2024-12-23 12:21:54
redis
深入解析for与foreach遍历集合时的性能差异
本文将详细探讨for循环和foreach(迭代器)在遍历集合时的性能差异,并通过实际代码示例和源码分析,帮助读者理解这两种遍历方式的不同之处。文章内容丰富且专业,旨在为编程爱好者提供有价值的参考。 ...
[详细]
蜡笔小新 2024-12-23 10:57:14
redis
深入解析GCD:任务队列与多线程编程
本文详细介绍了Grand Central Dispatch (GCD) 的核心概念和使用方法,探讨了任务队列、同步与异步执行以及常见的死锁问题。通过具体示例和代码片段,帮助开发者更好地理解和应用GCD进行多线程开发。 ...
[详细]
蜡笔小新 2024-12-22 10:11:08
php
EasyMock实战指南
本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ...
[详细]
蜡笔小新 2024-12-18 13:03:19
redis
字节跳动夏季招聘面试经验分享
本文详细记录了字节跳动夏季招聘的面试经历,涵盖了一、二、三轮面试的技术问题及项目讨论,旨在为准备类似面试的求职者提供参考。 ...
[详细]
蜡笔小新 2024-12-18 09:31:48
郝蕾雅老_206
这个家伙很懒,什么也没留下!
Tags | 热门标签
gcc
upload
spring
h2
token
wordpress
sms
php5
timezone
mvc
localhost
lua
pip
cPlusPlus
注入
go
ftp
pymongo
struct
rust
微服务
crontab
php
port
python
session
cpython
varnish
smtp
redis
RankList | 热门文章
1
django示例_介绍信模板
2
Rocket Mq消息持久化
3
计算机指数函数算法框图,计算指数函数的算法
4
Java接口 – 实现对
5
神经网络打印模型参数及参数名字和数量
6
作为一名优质的程序员如何高效的解决各种bug?
7
Elasticsearch连接类(带密码)
8
[System.Serializable]
9
Ubuntu虚拟机下忘记密码的解决方法
10
当人工智能(AI)撞上供应链
11
英语笔记1.5.2022
12
极空间NAS实测:足以告别存储焦虑 数据随身存
13
nginx常用配置(nginx配置多个server)
14
由来|准确性_PeeringDB初探
15
HDU6521 Party (SYSU校赛K题)(线段树)
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有