自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Java并发机制知识点(volatile、synchronized、CAS)

1.volatile关键字volatile是轻量级的synchronized,它在多线程开发中保证了共享变量的“可见性”,可见性就是说当一个线程修改一个共享变量时,另外的一个线程能立刻读到这个修改的值。它不会引起线程上下文切换(线程上下文切换指的是线程在切换的时候会先保存当前执行的状态,以便下次切换回来继续执行,所以从保存到下次切换回来的过程就是一次上下文切换)。对volatile修改的变量进行写操作会做两件事情(1)将当前处理器缓存行的数据写回到系统内存。(2)这个写回内存的操作会使在其他CPU里

2021-05-11 16:59:20 146

原创 详解Kafka的高水位(HW)和Leader Epoch

1.回顾ISR2.介绍HW3.HW的作用4.leader副本和follower副本是如何通过HW进行同步的,以及这样会有什么问题。5.Leader Epoch的作用6.Leader Epoch是如何解决消息丢失和消息不一致的问题的。

2021-04-26 17:56:16 5981 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 376

原创 Kafka分区分配策略以及重平衡过程总结

1.RangeAssignor分配策略(kafka默认的分区策略)partition.assignment.strategy=org.apache.kafka.clients.consumer.RangeAssignor按照消费者总数和分区总数进行整除运算来获得一个跨度,然后将分区按照跨度进行平均分配,以保证分区尽可能均匀地分配给所有的消费者。该策略会将消费者组内所有订阅这个主题的消费者按照名称的字典序排序,然后为每个消费者划分固定的分区范围,如果不够平均分配,那么字典序靠前的会被多分配一个分区.假

2021-04-13 15:42:34 2025

原创 消费者组重平衡全流程解析

1.什么是消费者组重平衡消费者组重平衡的作用就是让组内的所有消费者实例就消费哪些主题分区达成一致。重平衡需要借助Kafka的broker端的Coordinator 组件,Coordinator在整个重平衡过程中充当协调器,协助消费者组完成重平衡。2.什么情况下会触发重平衡·消费者组内成员发生变化·消费者组订阅的主题数量发生变化·订阅的主题内的分区数发生变化一般情况下,第一种情况比较常发生,当我们依次启动消费者组内的消费者实例的时候其实就会触发重平衡。3.重平衡过程是如何通知到其他消费者实例的

2021-03-28 18:39:05 391 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 299

原创 Kafka什么情况下会丢失消息?如何做到消息不丢失?

作为一个消息中间件,如果在运行过程中丢失消息,往往是很难排查和追溯的,Kafka也会存在丢失消息的情况,今天我想分析一下Kafka丢失消息的几个原因,以及如何尽可能的防止消息不丢失。在分析Kafka丢失消息的时候,我准备从broker、producer、consumer三端进行分析。1.brokerproducer发送消息到broker端,如果broker接收并保存该消息,返回ack标记到producer,那么认为该消息已经生产并发送完成。kafka中ack有三种模式:ack=0,即生产者发送完消息

2021-03-17 18:42:30 808

原创 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 4348 1

原创 Kafka配置文件server.properties详解

Kafka启动通常都会通过配置文件的方式启动,也就是通过server.properties文件启动,里面是kafka的broker端的一些配置,那么这些配置都是什么意思呢?下面准备记录一下。-----------------------------系统相关配置-------------------------------------------------------------------------------------------------------#这个表示当前broker在集群中的一个唯

2021-01-26 18:30:10 3634

原创 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 949

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除