前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【云顾问-混沌】Kafka Broker开小差了~

【云顾问-混沌】Kafka Broker开小差了~

原创
作者头像
冷淡然
修改2024-03-15 12:02:44
2110
修改2024-03-15 12:02:44
举报

Kafka Broker宕机会带来哪些影响?

现如今,Kafka 作为一个高性能、高可靠性、分布式的消息队列系统,广泛地被应用于大规模互联网服务中,如 Tencent、Facebook、LinkedIn、Netflix、Airbnb 等知名公司。然而,在大规模的分布式系统中,服务的不可预测性、复杂性和耦合性经常会导致一些不可预测的故障事件。当Kafka Broker节点宕机时,可能会出现以下故障:

  1. 数据丢失: 如果正在写入宕机的broker的消息,则可能会导致数据丢失。在此期间,生产者可能无法将消息写入分区并将其复制到其他副本,因此可能会导致消息丢失。
  2. 可用性降低: 宕机的broker不再处理请求,这可能会导致生产者和消费者的请求超时。如果有多个broker节点宕机,集群的可用性会进一步降低。
  3. 延迟增加: 宕机的broker不再处理请求,这可能会导致生产者和消费者请求的延迟增加。当请求超时并重新发送时,它们可能需要等待其他节点回复,从而导致更长的延迟。
  4. 不均衡的领导者选举: 如果宕机的broker是分区的领导者,则需要进行领导者选举。如果宕机的broker重新启动,并且在它退出之前的备份没有被删除,则可能会导致不均衡的领导者选举。
  5. 副本同步延迟: 如果宕机的broker是一个或多个副本的复制者,则可能会导致副本同步延迟。如果这种延迟很大,可能会导致生产者和消费者读取或写入过时的数据。

腾讯云消息队列 CKafka(Cloud Kafka)

腾讯云消息队列 CKafka(Cloud Kafka)是基于开源 Apache Kafka 消息队列引擎,提供高吞吐性能、高可扩展性的消息队列服务。消息队列 CKafka 完美兼容 Apache Kafka 0.9、0.10、1.1、2.4、2.8、3.2 版本接口,在性能、扩展性、业务安全保障、运维等方面具有超强优势,让您在享受低成本、超强功能的同时,免除繁琐运维工作。腾讯云 CKafka 具有高可靠性、高可用性、高性能等特性,保证用户的数据安全。

故障原理

故障效果:CKafka 实例的某个或某个可用区 Broker 宕机离线。实例会出现未同步副本。

CKafka Broker 宕机逻辑:Broker 宕机之后(并不会自动拉起新的 broker 节点),会在集群中的其他 broker 节点中选出新的 topic-partition leader 副本,挂掉一台 broker,那么这台机器上的副本就不可用, 会导致 topic 少了一个副本, 并不会 “恢复到用户预期的副本数量”。对 CKafka 而言,只要有一个副本可用,就可以正常生产消费。故障恢复之后,原 Broker 上的副本会从其他 Broker 节点复制进而恢复。

CKafka Broker 节点宕机用户侧风险:故障之后,leader 副本切换通常是秒级的,在此期间,用户也许会收到重试警告,由于切换非常迅速,通常不会发生消息丢失(极小概率:消息写到 page cache,由异步线程刷盘,若在 page cache 数据没有刷盘的同时, follower 并未同步到 leader 副本的消息的情况下,会出现部分消息丢失)

故障示例图:一个 CKafka 实例(4个 Broker 节点部署在两个可用区),将 Broker A 宕机之后,离线,CKafka 实例会将位于 Broker C 上的 Partition 0 的副本选为新的 Leader 副本,对外提供消息服务。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Kafka Broker宕机会带来哪些影响?
  • 腾讯云消息队列 CKafka(Cloud Kafka)
  • 故障原理
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档