消息队列篇-kafka

消息队列篇-kafka,第1张

消息队列篇-kafka

>>理论侧

书籍名称【Kafka权威指南】

链接:https://pan.baidu.com/s/11YqDDICWwQAHC4bKhwHMKg 
提取码:vgz7

个人笔记:

Kafka权威指南 第 1 章 初识Kafka

>>Apache Avro

>>Kaflca 的悄息通过主题进行分类。

>>先入先出的顺序读取。

>>MirrorMaker

使用场景

1 活动跟踪

2 传递消息

3 度量指标和日志记录

4 提交日志

5 流处理

常规配置

1> broker.id

标识,整数,默认0,唯一

2> port

3> zookeeper.connect

用于保存 broker 元数据的 Zookeeper 地址。

4> log .dirs

5> num.recovery.threads.perdata.dir

对于如下3种情况, Kafka 会使用可配置的钱程 来处理日志片段

5.1 服务器正常启动,用于打开每个分区的日志片段

5.2服务器崩愤后重启,用于检查和截短每个分区的日志片段:

5.3服务器正常关闭,用于关闭日志片段。

6>  auto.create.topics.enable

默认情况下, Kafka 会在如下几种情形下自动 建主题

6.1 当一个生产者开始往主题写入消息时

6.2 当一个消费者开始从主题读取消息时

6.3 任意 个客户端向主题发送元数据请求时。

主题的默认配置

1> num.partitions

参数指定了新创建的主题将包含多少个分区,默认1

2> log.retention.ms

Kafka 通常根据时间来决定数据可以被保留多久。默认使用 log. retentlon.hours 参数来配

置时间 ,默认值为 168 小时。

3>log.retention.bytes

4>log.segment.bytes

5>log.segment.ms

6>message.max.bytes

broker 通过设置message.max.bytes 参数来限制单个消息的大小,默认值是1MB

第 2 童 安装 Kafka 第 3 章 Kafka 生产者一一向 Kafka 写入数据 Kafka 发送消息的主要步骤:

 

Kafka 生产者有3个必选的属性

1 bootstap.severs:该属性指定 broker 的地址清单。

2 key.serializer:默认提供ByteArraySerializer/StringSerializer/IntegerSerializer

3 value.Serializer

发送消息

1 发送并忘记

2 同步发送

3 异步发送

生产者的配置

序号

配置名称

配置说明

配置取值

1

acks

参数指定了必须要有多少个分区副本收到消息

0/1/all

2

buffer.memory

该参数用来设置生产者内存缓冲区的大小,生产者用它缓冲要发送到服务器的消息

3

compression.type

默认情况下,消息发送时不会被压缩

snappy/gzip/lz4

4

retries

5

batch.size

6

linger.ms

7

client.id

8

max.in.flight.requests.per.connection

指定了生产者在收到服务器晌应之前可以发送多少个消息

9

timeout.ms/request.timeout.ms/ metadata.fetch.timeout.ms

10

max.block.ms

11

max.request.size

12

receive.buffer.bytes/send.buffer.bytes

>>键有两个用途 :

可以作为消息的附加信息,也可以用来决定消息该被写到主题的哪个分区

>>不要让消费者的数量超过主题分区的数量,多余的消费者只会被闲置

>>Confluent Schema Registry

第 4 章 Kafka 消费者一一从 Kafka读取数据

>>Partitioner

>>分区的所有权从一个消费者转移到另一个消费者,这样的行为被称为再均衡。

>>subscribe

>>一旦消费者订阅了主题,轮询就会处理所有的细节,包括群组协调、分区再均衡、发送心跳和获取数据,

消费者配置

序号

配置名称

配置说明

取值

1

fetch.min.bytes

该属性指定了消费者’从服务器获取记录的最小字节数。

2

fetch.max.wait.ms

默认500ms

3

max.partition.fetch.bytes

该属性指定了服务器从每个分区里返回给消费者的最大字节数。

它的默认值是 lMB

4

session.timeout.ms

默认:3秒

5

auto.offset.reset

该属性指定了消费者在读取一个没有偏移量的分区或者偏移量无效的情况下(因消费者长

时间失效,包含偏移量的记录已经过时井被删除)该作何处理

默认:latest

6

enable.auto.commit

该属性指定了消费者是否自动提交偏移量,

默认值是 true

7

partition.assignment.strategy

Range/RoundRobin

8

client.id

9

max.poll.records

10

receive.buffer.bytes

11

send.buffer.bytes

退出

consumer.wakeup()是消费者唯一 一个可以从其他线程里安全调用的方法。

第 5 章 深入Kafka

“脑裂”是指两个节点同时认为自己是 当前的控制器。

Kafka 使用零复制技术向客户端发送消息

第 6 章 可靠的数据传递 消费者的可靠性配置

1>group.ld

2>auto.offset.reset

3>enable.auto.commit

4>auto.commit.interval.ms

第 7 章 构建数据管道 第 8 章 跨集群数据镜像

Kafka 内置的跨集群复制工具叫作 MirrorMaker

跨集群镜像使用场景
  1. 区域集群和中心集群
  2. 冗余
  3. 云迁移

双活架构

生产者进行调优,可以使用下列参数。

1>max.in.flight.requests.per.connection

2>linger.ms

3>batch.size

配置用于提升消费者的吞吐量:

1>range

2>fetch.max.bytes

3>fetch.min.bytes

4>fetch.max.wait

第 9 章 管理 Kafka 第 1 0 章 监控 Kafka 第 1 1 章 流式处理

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5638914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存