什么是 kafka

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mottohlm/article/details/81175974

kafka 是一种消息中间件

当消息人一端传到另一端的时候,kafka 作用是作为传输中间暂时存放消息的载体。为什么需要一个中间载体呢。在解答之前,先定两个概念:发送消息的叫生产者(消息生产者),接收消息的叫消费者(消息消费者)。有时候消息消费的速度可没有消息生产的速度那么快。如果存在消息没有及时处理那么就会导致消息堵塞,最后堵得没处堵了就是系统超时了。所以找一个中间存放的场所很有必要,这里有一种选择就是用 Apache kafka .

kafka 的一些相关名词:

producer 生产者,消息产生端;

consumer 消费者,消息处理端;

topic 标签,每一条消息的分类。其实它的实际形式就是一队列,一个topic表示一个队列,那在此队列里的消息自己就是属于同一类的咯;

broker 就是载体,kafka是部到服务器上的,那broker就是一个服务器。集群的话那就有可能有多个服务器,就会有多个broker。

partition 每一个topic 可以包含一个或多个partition ,每个topic在创建的时候是可以指定partition 数量的。需在物理上,每一个partition 对应于一个文件夹,这个文件夹里存储着该 partition 的数据 和索引文件。

一些应用场景:

1.前面举例的,消息队列;为消息系统实现标准的队列和消息发布-订阅。

2.站点的用户活动追踪:为理解用户形为,提高用户体验,将用户查看的页面或点击的内容发送到kafka上,然后在相关的分析系统中取出分析。

3.日志聚合。

kafka 需要理解的知识:

节点间如何复制备份。

使用了kafka 能否保证消息不丢失。

kafka 最合理的配置是什么。

选举机制是什么。

硬件配置要求是什么。

有几种方式保证消息传输。

猜你喜欢

转载自blog.csdn.net/mottohlm/article/details/81175974