kafka专题

Posted jareny

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka专题相关的知识,希望对你有一定的参考价值。

-------------------Kafka---------------------

一、Kafka是什么

kafka一般用来缓存数据。

1、开源消息系统

2、最初是LinkedIn公司开发,2011年开源。2012年10月从Apache Incubator毕业。
项目目标是为处理实时数据,提供一个统一、高通量、低等待的平台。

3、Kafka是一个分布式消息队列。
消息根据Topic来归类,发送消息 Producer,接收 Consumer。
kafka集群有多个kafka实例组成,每个实例成为broker

4、无论是kafka集群,还是 producer consumer 都依赖于 zookeeper 集群保存元信息,来保证系统可用性。

二、消息队列
点对点
发布、订阅模式

三、为什么需要消息队列

1、解耦

2、冗余
消息队列把数据进行持久化,直到他们已经被完全处理。

3、扩展性

4、灵活性

5、可恢复性

6、顺序保证(相对)
kafka保证一个Partition内部的消息有序。

7、缓冲

8、异步通信
很多时候,用户不想也不需要立即处理消息。
消息队列提供异步处理机制,允许用户把消息放入队列,但不立即处理。

四、Kafka架构

1、Producer 消息生产者,就是往kafka中发消息的客户端

2、consumer:消息消费者,向kafka broker中取消息的客户端。

3、topic 理解为队列。

4、Consumer Group 消费者组

组内有多个消费者实例,共享一个公共的ID,即groupID。
组内所有消费者协调在一起,消费topic。
每个分区,只能有同一个消费组内的一个consumer消费。

5、broker
一台kafka服务器就是一个broker

6、partition:一个topic分为多个partition
每个partition是一个有序队列。
kafka保证按一个partition中的顺序将消息发送个consumer。
不能保证topic整体有序

7、offset:Kafka存储文件按照offset.kafka命名。








以上是关于kafka专题的主要内容,如果未能解决你的问题,请参考以下文章

kafka专题-1

Kafka技术专题之总体原理和分析介绍(下)

中间件面试专题:kafka高频面试问题

专题6LogStash采集数据到kafka

Kafka技术专题之总体原理和分析介绍(中)

Kafka技术专题之总体原理和分析介绍(上)