初识Kafka

本文将从以下五个方面初识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学习视频大礼包一枚。 

 

posted @ 2019-02-13 22:36  HuZixia  阅读(161)  评论(0编辑  收藏  举报