技术总结
文章平均质量分 87
Ccccccc牛逼
这个作者很懒,什么都没留下…
展开
-
详解Kafka的高水位(HW)和Leader Epoch
1.回顾ISR2.介绍HW3.HW的作用4.leader副本和follower副本是如何通过HW进行同步的,以及这样会有什么问题。5.Leader Epoch的作用6.Leader Epoch是如何解决消息丢失和消息不一致的问题的。原创 2021-04-26 17:56:16 · 6163 阅读 · 1 评论 -
Kafka的事务
幂等性生产者在进行重试的时候有可能会重复写入消息,而使用Kafka的幂等性功能之后就可以避免这种情况。在生产者客户端配置enable.idempotence设置为true。如果配置了这个参数,那么retries必须大于0,acks=-1,max.in.flight.requests.per.connection不能大于5。Kafka为此引入了product id(PID)和序列号这两个概念,每个新的生产者实例在初始化的时候都会被分配一个PID,对于每一个PID,消息发送到的每个分区都有对应的序列号,这原创 2021-04-14 22:15:51 · 383 阅读 · 0 评论 -
Kafka分区分配策略以及重平衡过程总结
1.RangeAssignor分配策略(kafka默认的分区策略)partition.assignment.strategy=org.apache.kafka.clients.consumer.RangeAssignor按照消费者总数和分区总数进行整除运算来获得一个跨度,然后将分区按照跨度进行平均分配,以保证分区尽可能均匀地分配给所有的消费者。该策略会将消费者组内所有订阅这个主题的消费者按照名称的字典序排序,然后为每个消费者划分固定的分区范围,如果不够平均分配,那么字典序靠前的会被多分配一个分区.假原创 2021-04-13 15:42:34 · 2166 阅读 · 0 评论 -
消费者组重平衡全流程解析
1.什么是消费者组重平衡消费者组重平衡的作用就是让组内的所有消费者实例就消费哪些主题分区达成一致。重平衡需要借助Kafka的broker端的Coordinator 组件,Coordinator在整个重平衡过程中充当协调器,协助消费者组完成重平衡。2.什么情况下会触发重平衡·消费者组内成员发生变化·消费者组订阅的主题数量发生变化·订阅的主题内的分区数发生变化一般情况下,第一种情况比较常发生,当我们依次启动消费者组内的消费者实例的时候其实就会触发重平衡。3.重平衡过程是如何通知到其他消费者实例的原创 2021-03-28 18:39:05 · 436 阅读 · 1 评论 -
Linux系统搭建Kafka集群
之前文章介绍了单结点Kafka的搭建与启动,由于在生产环境Kafka肯定是要搭建集群的,所以这篇文章准备介绍和记录一下自己如何搭建一个Kafka集群的。搭建准备:1.两台服务器,IP:154.8.214.111、121.4.148.2432.JKD:jdk1.8.0_2713.Kafka:kafka_2.11-2.1.14.Zookeeper:zookeeper-3.4.12因为zookeeper的容错机制,剩下可用节点数必须要大于n/2,zookeeper才可以正常使用,所以节点数最好是奇数,原创 2021-03-27 01:38:24 · 330 阅读 · 0 评论 -
Kafka什么情况下会丢失消息?如何做到消息不丢失?
作为一个消息中间件,如果在运行过程中丢失消息,往往是很难排查和追溯的,Kafka也会存在丢失消息的情况,今天我想分析一下Kafka丢失消息的几个原因,以及如何尽可能的防止消息不丢失。在分析Kafka丢失消息的时候,我准备从broker、producer、consumer三端进行分析。1.brokerproducer发送消息到broker端,如果broker接收并保存该消息,返回ack标记到producer,那么认为该消息已经生产并发送完成。kafka中ack有三种模式:ack=0,即生产者发送完消息原创 2021-03-17 18:42:30 · 824 阅读 · 0 评论 -
Kafka的ISR概念及Leader和follower数据同步机制
1.Replicakafka的broker端每个partition都会有多个副本(replica),至少有一个leader领导者副本以及多个follower追随者副本(可配置),分区接收消息以及消费消息都会在leader中进行,而follower副本的作用就是备份leader中的消息,它们会定时的从leader中拉取最新数据,从而尽可能的保证和leader的同步。1.什么是ISR?分区中的所有副本统称为AR(Assigned Replicas)。所有与leader副本保持一定程度同步的副本(包括lea原创 2021-03-17 16:01:10 · 4441 阅读 · 1 评论 -
Kafka配置文件server.properties详解
Kafka启动通常都会通过配置文件的方式启动,也就是通过server.properties文件启动,里面是kafka的broker端的一些配置,那么这些配置都是什么意思呢?下面准备记录一下。-----------------------------系统相关配置-------------------------------------------------------------------------------------------------------#这个表示当前broker在集群中的一个唯原创 2021-01-26 18:30:10 · 3686 阅读 · 0 评论 -
Linux系统下Kafka的搭建与启动
这是我在CSDN上写的第一篇文章,从今天开始准备记录一些自己日常开发中遇到的问题以及技术总结。由于之前项目中用到了kafka中间件,自己也比较感兴趣,所以准备利用个人时间研究一下这个kafka,废话不多说,先来看看kafka的安装与搭建吧。1.准备工作Centos、JDK8、zookeeper,Kafka2.11由于kafka的运行是需要jdk环境的,所以提前将jdk、zookeeper、kafka的安装包下载到本地,并通过scp上传到远程服务器。以下是我准备的文件1.1 JDK配置修改/e原创 2021-01-25 18:13:13 · 977 阅读 · 0 评论