本文将从以下五个方面初识Kafka

一. Kafka组件介绍

二. 消费者消费的条件

三. Kafka与ActiveMQ的区别

四. Kafka如何保证数据不丢失

五. Kafka的深入学习

 

一. Kafka组件介绍

1.producer 生产者 会把数据源写入kafka集群中

2.broker kafak服务器, 一个broker就是kafka集群的节点,可以存放数据

3.topic 消息的主题, 是一类消息的集合

4.partition 分区概念 一个topic有多个分区,提高并行处理的效率

5.replication 副本 一个分区可以设置多个副本,副本保证数据的安全性

6.segment 每一个分区数据都有很多个segment

   一个segment都有2个文件: ①.log文件(是topic数据存储的文件) ②.index文件(是.log文件索引文件,快速定位某一分区上次消息消费到哪里了,然后往后继续消费)

7.zookeeper 通过zk保存kafka集群元数据信息, 这些元数据信息包括: kafka集群地址,有哪些topic,以及每一个topic的分区数等信息.

8.consumer 消费者 消费者去kafka集群中拉取数据然后进行消费

9.offset 消息的偏移量 保存消息消费到哪里了,把消息消费的数据记录.当前这个记录信息叫做offset偏移量

消息偏移量保存有2种方式: ① 由kafka自己去保存 ② 由zookeeper去保存

二. 消费者消费的条件

1. 消费的topic

2. Zookeeper集群

3. 消息offset的偏移量, kafka集群可以自己记录,不用手动处理

三. Kafka与ActiveMQ的区别

四. Kafka如何保证数据不丢失

Kafka从以下三个方面来保证数据的不丢失

1. Producer

① ack机制-同步模式: 每次发送一条数据,每条数据都需要确认,效率比较低,但是数据安全

producer.type=sync (同步模式)
request.required.acks=1

② ack机制-异步模式: 通过buffer来进行控制数据的发送,有两个值来进行控制,时间阈值与消息的数量阈值,如果buffer满了数据还没有发送出去,若设置的是立即清理模式,风险很大,一定要设置为阻塞模式。

2.Broker

一个topic有很多个分区,每一个分区有很多个副本,可以通过副本保证数据的安全性

3.Consumer

针对每一个消费者在消费数据的时候,都会把当前消费的偏移量保存在kafka集群或者zookeeper,当前消费者挂了,再次重启,重启之后可以读取上一次消费的偏移量,然后继续消费

 

五. 关于Kafka的深入学习

关于Kafka深入学习, 如Kafka领导选举, offset管理, Stream接口, 高性能之道, 监控运维, 性能测试等,

请关注个人微信公众号: 求学之旅, 发送Kafka, 即可收获Kafka大礼包一枚。 

 

版权声明:本文为huzixia原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/huzixia/p/10372221.html