首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
wordpress
grpc
swoole
redis
service
上传
thinkphp
web3
分布式
memcache
golang
压力测试
package
cron
java
api
session
php
php水印
pipeline
okhttp
队列
transform
http
漏洞
syslog
base64
makefile
rust
ruby
crontab
token
go
pdo
php绘图
mq
缓存
localhost
mqtt
mvc
stdout
django
webhooks
storage
upload
注入
webserver
cPlusPlus
gcc
port
cookies
router
ssl
sms
正则
log4j
pipe
uuid
php框架
cSharp
gzip
爬虫
hashmap
nginx
crash
jvm
python
多线程
mysql
lvs
ftp
vb
struct
c语言
phpmyadmin
并发
node.js
http2
interface
当前位置:
开发笔记
>
后端
> 正文
Kafka系列之:深入理解死信队列和重试队列
作者:郝蕾雅老_206 | 来源:互联网 | 2023-06-22 13:12
Kafka系列之:深入理解死信队列和重试队列一、死信队列二、回退队列三、深入理解死信队列四、深入理解重试队列五、重试队列和延时队列的区别一、死信队列由于某些原因消息
Kafka系列之:深入理解死信队列和重试队列
一、死信队列
二、回退队列
三、深入理解死信队列
四、深入理解重试队列
五、重试队列和延时队列的区别
一、死信队列
由于某些原因消息无法被正确地投递,为了确保消息不会被无故地丢弃,一般将其置于一个特殊角色的队列,这个队列一般称为私信队列。
后续分析程序可以通过消费这个死信队列中的内容来分析当时遇到的异常情况,进而可以改善和优化系统。
二、回退队列
与死信队列对应的还有一个回退队列的概念,如果消费者在消费时发生了异常那么就不会对这一次消费进行确认,进而发生回滚消息的操作之后,消息始终会放在队列的顶部,然后不断被处理和回滚,导致队列陷入死循环。
为了解决问题,可以为每个队列设置一个回退队列,它和死信队列都是为异常处理提供的一种机制保障。
实际情况下,回退队列的角色可以由死信队列和重试队列来扮演。
三、深入理解死信队列
理解死信队列,关键是要理解死信。死信可以看作消费者不能处理收到的消息,也可以看作消费者不想处理收到的消息,还可以看作不符合处理要求的消息。比如消息内包含的消息内容无法被消费者解析,为了确保消息的可靠性而不被随意丢弃,故将其投递到死信队列中,这里的死信就可以看作消费者不能处理的消息。再比如超过既定的重试次数之后将消息投入死信队列,这里就可以将死信看作不符合处理要求的消息。
四、深入理解重试队列
重试队列其实可以看作一种回退队列,具体指消费端消费消息失败时,为了防止消息无故丢失而重新将消息回滚到broker中。
与回退队列不同的是,重试队列一般分成多个重试等级,每个重试等级一般也会设置重新投敌延时,重试次数越多投递延时就越大。
举个例子:消息第一次消费失败入重试队列Q1,Q1的重新投递延时为5s,5s过后重新投递该消息。如果消息再次消费失败则入重试队列Q2,Q2的重新投递延时为10s,10s过后再次投递该消息,以此类推,重试越多次重新投递的时间就越久,为此还需要设置一个上限,超过投递次数就进入死信队列。
五、重试队列和延时队列的区别
重试队列与延时队列有相同的地方,都需要设置延时级别。
区别是:延时队列动作由内部触发,重试队列动作由外部消费端触发。
延时队列作用一次,而重试队列的作用范围会向后传递。
kafka
队列
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
队列
Netflix利用Druid实现高效实时数据分析
本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ...
[详细]
蜡笔小新 2024-12-23 11:10:01
syslog
全面解析运维监控:白盒与黑盒监控及四大黄金指标
本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ...
[详细]
蜡笔小新 2024-12-22 14:02:29
队列
备战BAT面试:掌握这些MySQL核心问题
本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ...
[详细]
蜡笔小新 2024-12-20 18:58:01
队列
优化Spring Boot项目,大幅提升并发性能
本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ...
[详细]
蜡笔小新 2024-12-19 21:07:12
队列
window下kafka的安装以及测试
目录一、安装JDK(需要安装依赖javaJDK)二、安装Kafka三、测试参考在Windows系统上安装消息队列kafka一、安装JDKÿ ...
[详细]
蜡笔小新 2024-12-16 12:01:36
http
基于KVM的SRIOV直通配置及性能测试
SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ...
[详细]
蜡笔小新 2024-12-25 19:26:39
http
深入探讨CPU虚拟化与KVM内存管理
本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ...
[详细]
蜡笔小新 2024-12-25 19:15:51
http
Spring Boot 服务的最大并发处理能力
本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ...
[详细]
蜡笔小新 2024-12-25 16:45:57
队列
微软Exchange服务器遭遇2022年版“千年虫”漏洞
微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ...
[详细]
蜡笔小新 2024-12-25 14:08:03
队列
掌握Java EE的全面指南
探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ...
[详细]
蜡笔小新 2024-12-25 13:38:29
http
C++面试高频题
作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ...
[详细]
蜡笔小新 2024-12-25 12:32:36
http
深入解析TCP/IP五层协议
本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ...
[详细]
蜡笔小新 2024-12-24 14:02:48
队列
FinOps 与 Serverless 的结合:破解云成本难题
本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ...
[详细]
蜡笔小新 2024-12-24 12:44:26
http
Servlet 表单处理:GET 和 POST 请求的深入解析
本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ...
[详细]
蜡笔小新 2024-12-23 18:09:59
队列
优化GPS附近用户搜索的高效排序策略
探讨如何通过高效的数据库查询和排序策略,优化基于GPS位置信息的附近用户搜索功能,以应对大规模用户数据场景。 ...
[详细]
蜡笔小新 2024-12-23 14:26:59
郝蕾雅老_206
这个家伙很懒,什么也没留下!
Tags | 热门标签
wordpress
grpc
swoole
redis
service
上传
thinkphp
web3
分布式
memcache
golang
压力测试
package
cron
java
api
session
php
php水印
pipeline
okhttp
队列
transform
http
漏洞
syslog
base64
makefile
rust
ruby
RankList | 热门文章
1
跨线程调用UI控件方法的invoke机制总结与优化建议
2
如何在本地环境中调试远程服务器上的网站代码执行问题
3
享受早晨茶歇时光:品味精致茶点与香茗
4
二维条码扫描器通过串口在网页中实现数据展示
5
提升视觉效果:Unity3D中的HDR与Bloom技术(高动态范围成像与光线散射)
6
使用Shell脚本高效部署MHA高可用集群
7
VIM基础操作指南与快捷键记录
8
在各项条件尚未成熟时,务必谨慎使用border-box布局模式!!!
9
进程间通信:描述符传递技术深入解析
10
【Eclipse开发效率提升插件推荐】利用Google V8增强Node.js调试体验
11
ThinkPHP模板中函数调用的开发技巧与实践
12
深入解析进制的数学原理与应用
13
从月薪8k到38k:Java程序员如何通过系统化学习提升架构能力
14
Python 字符串处理全解:常用操作与技巧汇总
15
深入浅出 webpack 系列(二):实现 PostCSS 代码的编译与优化
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有