码迷,mamicode.com
首页 > 其他好文 > 详细

Kafka Topic Partition GroupId 及高可用

时间:2020-02-21 16:30:22      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:一个   有一个   问题   value   ash   完成   三种方式   重复   partition   

Topic主题用来区分不同类型的消息,实际也就是适用于不同的业务场景,默认消息保存一周时间;

同一个Topic主题下,默认是一个partition分区,也就是只能有一个消费者来消费,如果想提升消费能力,就需要增加分区;

同一个Topic的多个分区,可以有三种方式分派消息(key,value)到不同的分区,指定分区、HASH路由、默认,同一个分区内的消息ID唯一,并顺序;

消费者消费partition分区内的消息时,是通过offsert来标识消息的位置;

GroupId用来解决同一个Topic主题下重复消费问题,比如一条消费需要多个消费者接收到,就可以通过设置不同的GroupId实现,

实际消息是存一份的,只是通过逻辑上设置标识来区分,系统会记录Topic主题下--》GroupId分组下--》partition分区下的offsert,来标识是否消费过。

发送消息的高可用---

集群模式,多副本方式实现;一条消息的提交,可能通过设置acks标识实现不同的可用性,=0时,发送成功就OK;=1时,master成功响应才OK,=all时,一半以上的响应才OK(真正的高可用)

消费消息的高可用---

可以关闭自动标识offsert模式,先拉取消息,消费完成后,再去设置offsert位置,来解决消费高可用

 

Kafka Topic Partition GroupId 及高可用

标签:一个   有一个   问题   value   ash   完成   三种方式   重复   partition   

原文地址:https://www.cnblogs.com/yefeng654321/p/12341704.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!