服务器宕机时,Kafka消息队列数据是否会丢失?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2553个文字,预计阅读时间需要11分钟。
大 家 好, 我 是 树 哥。 消 息 队 列 可 谓 是 高 并 发 下 的 必 备 中 间 层。 Kafka 作 为 其 中 的 领 袖, 经 常被 我们用 于 各 类 场 景。 但 是, 随 着 Kafka 的 广 泛 应 用, 还 是 存 在 三 个 问 题:消 息 失 败、消 息 重 复。
大家好,我是树哥。
消息队列可谓是高并发下的必备中间件了,而 Kafka 作为其中的佼佼者,经常被我们使用到各种各样的场景下。随着 Kafka 而来得,还有三个问题:消息丢失、消息重复、消息顺序。今天,树哥带大家聊聊消息丢失的问题。
可靠性级别回到标题提出的问题:我们是否真的能保证 Kafka 消息不丢失?
答案是:我们无法保证 Kafka 消息不丢失,只能保证某种程度下,消息不丢失。
这里所说的某些情况,从严重程度依次为:Kafka 宕机、服务器宕机、机房地震、城市毁灭、地球毁灭。不要觉得树哥在危言耸听,如果你的服务器部署在乌克兰的首都,那是不是就会遭遇城市毁灭的风险了?因此,我们根据业务的重要程度,设置合理的可靠性级别,毕竟可靠性级别越高,付出的成本越高。
如果你的应用是金融类型或者国民级别的应用,那么你需要考虑机房地震以上级别的可靠性级别,否则一般考虑到服务器宕机这个维度就可以了。对于机房地震级别以上的情况,大多数都是需要做异地多活,然后做好各地机房数据的实时同步。即使地球毁灭了,你在火星部署了一个机房,其原理也是类似。
我想大多数同学的应用可靠性,可能都只需要考虑到服务器宕机级别,因此后续的考虑也仅限于这个级别。
本文共计2553个文字,预计阅读时间需要11分钟。
大 家 好, 我 是 树 哥。 消 息 队 列 可 谓 是 高 并 发 下 的 必 备 中 间 层。 Kafka 作 为 其 中 的 领 袖, 经 常被 我们用 于 各 类 场 景。 但 是, 随 着 Kafka 的 广 泛 应 用, 还 是 存 在 三 个 问 题:消 息 失 败、消 息 重 复。
大家好,我是树哥。
消息队列可谓是高并发下的必备中间件了,而 Kafka 作为其中的佼佼者,经常被我们使用到各种各样的场景下。随着 Kafka 而来得,还有三个问题:消息丢失、消息重复、消息顺序。今天,树哥带大家聊聊消息丢失的问题。
可靠性级别回到标题提出的问题:我们是否真的能保证 Kafka 消息不丢失?
答案是:我们无法保证 Kafka 消息不丢失,只能保证某种程度下,消息不丢失。
这里所说的某些情况,从严重程度依次为:Kafka 宕机、服务器宕机、机房地震、城市毁灭、地球毁灭。不要觉得树哥在危言耸听,如果你的服务器部署在乌克兰的首都,那是不是就会遭遇城市毁灭的风险了?因此,我们根据业务的重要程度,设置合理的可靠性级别,毕竟可靠性级别越高,付出的成本越高。
如果你的应用是金融类型或者国民级别的应用,那么你需要考虑机房地震以上级别的可靠性级别,否则一般考虑到服务器宕机这个维度就可以了。对于机房地震级别以上的情况,大多数都是需要做异地多活,然后做好各地机房数据的实时同步。即使地球毁灭了,你在火星部署了一个机房,其原理也是类似。
我想大多数同学的应用可靠性,可能都只需要考虑到服务器宕机级别,因此后续的考虑也仅限于这个级别。

