这是用户在 2024-8-22 22:33 为 https://ls8sck0zrg.feishu.cn/wiki/W6CUwwExVi1XR2kYzxVcEuLHnlf?fromScene=spaceOverview 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?
输入“/”快速插入

消费语义

牛哥
6月21日修改
在前面的学习中,我们已经掌握了Kafka常见的应用场景,并进行了场景实践,也学习了Kafka的架构,对它的各个组件算是有了比较细致的理解。
现在我们继续回归到应用层面,去进一步探索怎么更好的使用消息队列,这里我们重点考虑几个问题:
1.怎么保证消息不丢失?
2.怎么保证消息不重复消费?
3.怎么让消息有序消费?
4.消息如果不幸积压了,该何去何从?
我们先关注1,2两个问题,他们实际可以看作一类问题,为了能讲解清楚,我们得先介绍一下消息消费的常见语义。
消费语义介绍
对于消息,一般有如下几种消费模式
at most once,即最多一次语义:消息可能会丢失,但绝不会被重复发送,其适用于对消息传递可靠性要求不高的场景,如日志记录。
附件不支持打印
at least once,至少一次语义:消息不会丢失,但有可能被重复发送处理,其适用于对消息传递可靠性有要求,但可以容忍消息重复的场景,如事件通知
附件不支持打印
exactly once,精确一次语义,消息不会丢失,也不会被重复发送,其适用于关键业务场景,需要严格保证消息处理一次且仅一次,如金融交易处理
附件不支持打印
评论(0)
跳转至首条评论
0