![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kafka
空城1995
爱编程,爱java。
展开
-
Kafka在ZooKeeper中的应用
以下是kafka在zookeep中的详细存储结构图:1.Broker注册Kafka是一个分布式的消息系统。Kafka 集群包含一个或多个服务器,服务器节点称为broker。虽然Broker是分布式部署并且相互之间独立运行的,但是还需要一个注册系统能够将整个集群中的Broker服务器都管理起来。在ZooKeeper上有一个专门用来进行Broker服务器列表记录的节点,下文中我们称之为“Broker节点”,其节点路径为/brokers/ids。每个Broker服务器在启动时,都会到Zo.原创 2020-10-16 12:12:10 · 333 阅读 · 0 评论 -
Kafka在Spring项目中的实战演练
一、消费者1.配置类我们定义了一个单独的kafka配置类,然后在配置文件中创建该bean对象,让Spring去统一管理。这里我们设计成一个topic一个配置类,我们就可以去根据不同的需求去定制化不同的配置。MQConsumerConfig.javapublic class MQConsumerConfig { private Properties props = new Properties(); private static final String BOOTSTRA...原创 2020-10-15 10:46:23 · 606 阅读 · 0 评论 -
kafka消费组与重平衡机制详解
1.消费者组1.1 介绍消费者组,即 Consumer Group,应该算是 Kafka 比较有亮点的设计了。那么何谓 Consumer Group 呢?Consumer Group 是 Kafka 提供的可扩展且具有容错性的消费者机制。既然是一个组,那么组内必然可以有多个消费者或消费者实例(Consumer Instance),它们共享一个公共的 ID,这个 ID 被称为 Group ID。组内的所有消费者协调在一起来消费订阅主题(Subscribed Topics)的所有分区(Parti原创 2020-10-14 17:01:48 · 1040 阅读 · 0 评论 -
Kafka数据存储详解
1.存储格式概述 每一个partion(文件夹)相当于一个巨型文件被平均分配到多个大小相等segment(段)数据文件里。但每一个段segment file消息数量不一定相等,这样的特性方便old segment fifile高速被删除。(默认情况下每一个文件大小为1G) 每一个partiton仅仅须要支持顺序读写即可了。segment文件生命周期由服务端配置参数决定。 partiton中segment文件存储结构segment fifile组成:由2大部分组成。分别为in.原创 2020-10-13 20:23:14 · 2451 阅读 · 1 评论 -
Kafka事务特性详解
Kafka在0.11版本中除了引入了Exactly Once语义,还引入了事务特性。Kafka事务特性是指一系列的生产者生产消息和消费者提交偏移量的操作在一个事务中,或者说是一个原子操作,生产消息和提交偏移量同时成功或者失败。1. Kafka事务的使用Kafka中的事务特性主要用于以下两种场景:生产者发送多条消息可以封装在一个事务中,形成一个原子操作。多条消息要么都发送成功,要么都发送失败。 read-process-write模式:将消息消费和生产封装在一个事务中,形成一个原子操作。在一个流转载 2020-05-28 18:16:15 · 708 阅读 · 0 评论 -
Kafka主题topic和分区Partition介绍
一.Kafka主题1.管理1)创建主题bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic hello --partitions 2 --replication-factor 1localhost:2181:zookeeper所在的ip,zookeeper 必传参数,多个zookeeper用 ‘,’分开。partitions:用于设置主题分区数,每个线程处理一个分区数据replication-factor:用于原创 2020-05-28 14:57:32 · 6148 阅读 · 0 评论 -
SpringBoot快速集成kafka
1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId&...原创 2020-05-28 11:05:01 · 195 阅读 · 1 评论 -
Kafka消费者详解
一.基本概念1.消费者和消费组Kafka消费者是消费组的一部分,当多个消费者形成一个消费组来消费主题时,每个消费者会收到不同分区的消息。假设有一个T1主题,该主题有4个分区;同时我们有一个消费组G1,这个消费组只有一个消费者C1。那么消费者C1将会收到这4个分区的消息,如下所示:Kafka一个很重要的特性就是,只需写入一次消息,可以支持任意多的应用读取这个消息。换句话说,每个应用都可以读到全量的消息。为了使得每个应用都能读到全量消息,应用需要有不同的消费组。对于上面的例子,假如我们新增.原创 2020-05-28 10:59:30 · 2216 阅读 · 0 评论 -
Kafka生产者详解
一.消息发送1.java客户端数据生产流程解析① 首先要构造一个 ProducerRecord 对象,该对象可以声明主题Topic、分区Partition、键 Key以及值 Value,主题和值是必须要声明的,分区和键可以不用指定。② 调用send() 方法进行消息发送。③ 因为消息要到网络上进行传输,所以必须进行序列化,序列化器的作用就是把消息的 key 和value对象序列化成字节数组后,生产者就知道该往哪个主题和分区发送记录了。④ 接着这条记录会被添加到一个记录批次里面,.原创 2020-05-27 17:49:22 · 512 阅读 · 0 评论 -
Kafka的基本介绍和在linux的安装配置
1.介绍Kafka最初是由LinkedIn公司采用Scala语言开发的一个多分区、多副本并且基于ZooKeeper协调的分布式消息系统,现在已经捐献给了Apache基金会。目前Kafka已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流处理等多种特性而被广泛应用。Apache Kafka是一个分布式的发布-订阅消息系统,能够支撑海量数据的数据传递。在离线和实时的消息处理业务系统中,Kafka都有广泛的应用。Kafka将消息持久化到磁盘中,并对消息创建了备份保证了数据的安全。K原创 2020-05-25 20:21:01 · 435 阅读 · 0 评论