kafka入门学习笔记(一)

kafka入门学习笔记(一)

一、 KAFKA概述

  • kafka定义

Apache Kafka® is a distributed streaming platform. What exactly does that mean?
A streaming platform has three key capabilities:

  • Publish and subscribe to streams of records, similar to a message queue or enterprise messaging system.

  • Store streams of records in a fault-tolerant durable way.
    Process streams of records as they occur.
    Kafka is generally used for two broad classes of applications:

  • Building real-time streaming data pipelines that reliably get data between systems or applications

  • Building real-time streaming applications that transform or react to the streams of data

(引自官网)

kafka是一个分布式的流平台,特点:
1、发布和订阅消息,类似于消息队列;
2、以容错持久的方式存储消息;
3、即时消息处理流

主要应用方向:

1、构建实时管道流,在系统和应用之间

2、构建实时流应用,处理流数据,或者响应流数据

  • kafka术语

以下图解释kafka中应用的术语和简要描述作用

kafka入门学习笔记(一)_第1张图片

Broker:Kfk集群中包含一个或者多个服务器,服务器节点称为broker。

Producer: 生产者即数据的发布者,该角色将消息发布到kfk的topic中;

Topics:每发布到kafka中的消息都有一个类别,这个类别称为topic;

Partition: topic中的数据分割为一个或者多个part,每个topic至少有一个或者多个part;

Offset:kfk存储文件的位移。

Leader:part中的leader,是负责读写的part,所有的读写都是通过leader路由,数据会广播给Follower;

Consumer:消费者可以从broker中读取数据。

Consumer Group:每个consumer属于一个group,消息只能被consumer group 中的某一个consumer消费;

以一个快递流程来形容整个术语

快递小哥相当于producer,快递就是msg,topic属于快递的一个类型,例如“大件,中件,小件”,每个broker相当于一个快递柜,而partition则是快递柜中的一类型号盒子。

整个关系梳理下,AA工业区有一个快递柜,快递柜上有三种尺寸的盒位,分别为1行为大件,2345行为中间,56行为小件。
顺丰快递小哥在送快递的时候先来到该快递柜(broker)。判断下这个快递的体积大小属于哪个尺寸(topic),然后在快递柜上面选择对应种类的行(partition)的盒位(offset)放置快递。
张三(consumer)收到快件短信的时候,来对应的盒位取出快递。

Consumer Group 可以理解为寄给公司的一个快递,只要公司中的任意一个人取走了快递,那么其他人都没法二次取快递。

你可能感兴趣的:(消息队列)