摘要:一、官方封装类的实现 ### 包org.apache.kafka.clients.producer.internals 中分区器的默认实现: package org.apache.kafka.clients.producer.internals; import java.util.List; imp
阅读全文
摘要:一、拦截器剖析 ### 拦截器 ~~~ # Producer拦截器(interceptor) ~~~ 和Consumer端Interceptor是在Kafka 0.10版本被引入的, ~~~ 主要用于实现Client端的定制化控制逻辑。 ~~~ # 对于Producer而言, ~~~ Interce
阅读全文
摘要:一、自定义序列化器 ### 自定义序列化器 ~~~ 数据的序列化一般生产中使用avro。 ~~~ 自定义序列化器需要实现org.apache.kafka.common.serialization.Serializer<T>接口, ~~~ 并实现其中的serialize 方法。 ### 编程代码实现
阅读全文
摘要:一、分区器剖析 ### 分区器 ~~~ # 默认(DefaultPartitioner)分区计算: ~~~ 如果record提供了分区号,则使用record提供的分区号 ~~~ 如果record没有提供分区号,则使用key的序列化后的值的hash值对分区数量取模 ~~~ 如果record没有提供分区
阅读全文
摘要:一、生产者:消息发送 ### [kafka高级特性解析] ~~~ [数据生产流程剖析] ~~~ [生产者参数详解] ~~~ [生产者参数代码案例] ### 数据生产流程解析 ~~~ # Producer创建时,会创建一个Sender线程并设置为守护线程。 ~~~ 生产消息时,内部其实是异步流程,生产
阅读全文
摘要:一、生产者配置参数代码实现 ### 创建maven项目:demo-04-kafka-properties ~~~ 配置pom.xml文件;导入依赖 <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>
阅读全文
摘要:一、序列化器剖析 ### 序列化器 ~~~ 由于Kafka中的数据都是字节数组,在将消息发送到Kafka之前需要先将数据序列化为字节数组。 ~~~ 序列化器的作用就是用于序列化要发送的消息的。 ~~~ Kafka使用org.apache.kafka.common.serialization.Seri
阅读全文
摘要:NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of
阅读全文
摘要:一、kafkaAutoConfiguration配置;创建新的主题:kafkaAutoConfiguration配置 二、新建主题,可以通过configuration配置 package com.yanqi.kafka.demo.config; import org.apache.kafka.cli
阅读全文
摘要:一、服务端参数配置 ### 服务端参数配置 ~~~ $KAFKA_HOME/config/server.properties文件中的配置。 ### zookeeper.connect ~~~ 该参数用于配置Kafka要连接的Zookeeper/集群的地址。 ~~~ 它的值是一个字符串,使用逗号分隔Z
阅读全文
摘要:一、SpringBoot_kafka实战:SpringBoot Kafka ### 创建spring_boot模块 ~~~ ——>在kafka_demo右键——>new module——>Spring Initializr——>Next ~~~ ——>填写NewModule信息——>Next ~~~
阅读全文
摘要:一、spring_boot编程代码实现 ### Demo02SpringbootApplication.java package com.yanqi.kafka.demo; import org.springframework.boot.SpringApplication; import org.s
阅读全文
摘要:一、消费者实验代码 ### [kafka架构与实战] ~~~ [kakfa开发实战_消息发送] ~~~ [kafka开发实战_消息消费] ~~~ [kafka开发实战_消息推送偏移量] ### 消费者:MyProducer2 package com.yanqi.kafka.demo.producer
阅读全文
摘要:一、创建maven工程:创建maven项目 ### 将pom.xml下添加成pom <packaging>pom</packaging> ### 删除src目录,创建目录模块 ~~~ ——>项目下面——>右键——>new module——>编辑如下内容——>finish——>END ### 在pom
阅读全文
摘要:一、kafka开发实战_消息者消费 ### kafka消费消息 ~~~ 编程代码 package com.yanqi.kafka.demo.consumer; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.ap
阅读全文
摘要:一、Kafka开发实战 ### [kafka架构与实战] ~~~ [kakfa开发实战_消息发送] ~~~ [kafka开发实战_消息消费] ### 消息的发送与接收 ~~~ 生产者主要的对象有: KafkaProducer , ProducerRecord 。 ~~~ 其中KafkaProduce
阅读全文
摘要:一、Kafka安装与配置:Java环境为前提 ### [kafka架构与实战] ~~~ [部署Java.v8u231] ~~~ [zookeeper.v3.4.14] ~~~ [kafka2.12-1.0.2] ### 查看自带的openjdk ~~~ # 查看系统自带的jdk环境 [root@ha
阅读全文
摘要:一、kakfa生产与消费:验证zookeeper和kafka状态 ### 验证zookeeper状态 [root@hadoop ~]# zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/yanqi/serve
阅读全文
摘要:一、基本架构 ### 消息和批次 ~~~ # Kafka的数据单元称为消息。 ~~~ 可以把消息看成是数据库里的一个“数据行”或一条“记录”。消息由字节数组组成。 ~~~ # 消息有键,键也是一个字节数组。 ~~~ 当消息以一种可控的方式写入不同的分区时,会用到键。 ~~~ # 为了提高效率,消息被
阅读全文
摘要:一、核心概念 ### Producer:生产者创建消息。 ~~~ 该角色将消息发布到Kafka的topic中。 ~~~ broker接收到生产者发送的消息后,broker将该消息追加到当前用于追加数据的segment 文件中。 ~~~ # 一般情况下,一个消息会被发布到一个特定的主题上。 ~~~ 默
阅读全文