Kafka
Kafka相关博文
@阿证1024
这个世界上最好的语言就是你的实力。
展开
-
详解Kafka分区分配策略
前言: 一个consumer group中有多个consumer,一个topic有多个partition,所以必然会涉及到partition的分配问题,即确定那个partition由哪个consumer来消费。 RoundRobin Range原创 2020-09-03 11:12:58 · 573 阅读 · 0 评论 -
详解Kafka消息队列的两种模式
1. 点对点模式(一对一) 1)模式特点: 消息生产者生产消息发送到Queue中,然后消息消费者从Queue中取出并且消费消息。消息被消费以后,queue中不再存储该条消息,所以消息消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者消费。 2)数据拉取方式:消费者主动拉取。 3)模式缺点:消息不能被重复消费。 2. 发布/订阅模式(一对多) 1)模式特点: 消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该原创 2020-09-03 19:05:01 · 3489 阅读 · 6 评论 -
Kafka中消费者参数--zookeeper和--bootstrap说明
前言 1)由于consumer在消费过程中可能会出现断点宕机等故障,consumer恢复后,需要从故障前的位置继续消费,所以consumer需要实时记录自己消费到了那个offset,以便故障恢复后继续消费。 2)在0.11版本之前消费者消费的offset信息会记录在zookeeper,0.11(含)之后Kafka选择将消费者消费的offset信息会记录到本地Kafka集群。 So –zookeeper 和 --bootstrap是对消费者offset存储位置的一个选择,目前建议使用–bootst原创 2020-09-03 18:44:53 · 1260 阅读 · 1 评论 -
详解Kafka事务
Kafka从0.11版本开始引入了事务支持。事务可以保证Kafka在Exactly Once语义的基础上,生产者和消费者可以跨分区会话,要么全部成功,要么全部失败。 1. Producer 事务 1)为了实现跨分区跨会话的事务,需要引入一个全局唯一的 Transaction ID,并将 Producer获得的PID 和Transaction ID绑定。这样当Producer 重启后就可以通过正在进行的 Transaction ID 获得原来的 PID。 2)为了管理 Transaction,Kafk原创 2020-09-03 15:29:23 · 245 阅读 · 0 评论 -
详解Kafka副本同步策略
前言: Kafka俗称消息队列,既然是消息(即数据)队列就要保证消息能完整送达。所以,为保证producer发送的数据,能可靠的到达指定的Topic,topic的每个partition收到producer收到消息后,都需要向producer发送ack确认收到,如果producer收到ack,就会进行下一轮的发送,否则重新发送数据。如下图: 副本同步策略 半数以上同步 全同步 两种同步策略优缺点对比 说明: Kafka选择第二种方案,原因如下: 1.同样为了容忍 n 台节点的故障,第一种方案需要原创 2020-09-02 12:59:28 · 1745 阅读 · 13 评论