kafka系列之初步认识(零)

xiaoxiao2021-02-28  98

Kafka是什么

发布/订阅消息中间件 也被称为分布式流平台

Kafka的诞生

最初是为了解决LinkedIn数据通道问题,最后捐献给了Apache,是Apache的顶级项目。

Kafka适合的场景

用户行为跟踪,可以将网页/用户操作等信息发送到kafka中.并实时监控,或者离线统计分析等消息系统,最常见一种场景。应用程序(生产者)产生消息,发送到Kafka,另外一个应用程序消费Kafka的消息。应用系统监控,应用程序定期将系统各指标发送到Kafka,消费者消费进行预测、分析等。日志提交服务,应用可以将操作日志”批量”、”异步”的发送到kafka集群中,而不是保存在本地或者DB中;kafka可以批量提交消息/压缩消息等流处理,目前Kafak的新定位是流处理平台,实时处理流数据。

Kafka的基本构件

topic

主题,Kafka根据topic对消息进行归类,发布到Kafka集群的每条消息都需要指定一个topic

partition

分区,一个topic可以分为多个partition,每个partition内部信息是有序的

producer

消息生产者,向broker发送消息的客户端

comsumer

消息消费者,从broker读取消息的客户端

broker

代理服务器,Kafka的消息处理节点。一个Kafka节点就是一个broker,一个或者多个broker可以组成一个Kafka集群

Kafka的特点

支持多生产者

Kafka支持多个生产者使用多个topic或者一个topic同时发送消息到broker,无需为每个生产者提供一个broker。

支持多消费者

Kafka支持多个消费者订阅单个topic的消息,消费者按组分类,同一个消费组的消费者,只有一个comsumer可以消费消息,不同的消费组默认轮询消费消息。

消息支持持久化

消息按照我们的配置选项保存在磁盘,意味着不用担心消息丢失。

可扩展

支持集群扩展,当处理的数据增长比较快时,可以扩展broker节点,削峰填谷,不影响系统的整体性能。另外Kafka可以容忍单个或者一部分broker宕机,也不会对系统造成影响。

高性能

在高负载下,消息的延迟也很低,在秒级之内。

转载请注明原文地址: https://www.6miu.com/read-38888.html

最新回复(0)