kafka消息中间件-学习笔记

内容来源:https://www.cnblogs.com/qingyunzong/p/9004509.html

 

1.2 消息系统介绍

一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需关注于数据,无需关注数据在两个或多个应用间是如何传递的。分布式消息传递基于可靠的消息队列,在客户端应用和消息系统之间异步传递消息。有两种主要的消息传递模式:点对点传递模式、发布-订阅模式。大部分的消息系统选用发布-订阅模式。Kafka就是一种发布-订阅模式

1.3 点对点消息传递模式

1、生产者发送一条消息到queue

2、一条消息只能被消费一次。当一个消费者消费了队列中的某条数据之后,该条数据则从消息队列中删除

3、即使有多个消费者同时消费数据,也能保证数据处理的顺序

1.4 发布-订阅消息传递模式

1、发布者发送到topic的消息

2、消费者可以订阅一个或多个topic,

3、同一条数据可以被多个消费者消费,数据被消费后不会立马删除

 

四、Kafka中的术语解释

4.2 broker

Kafka 集群包含一个或多个服务器,服务器节点称为broker。

broker存储topic的数据。1、topic中的最小单位是partition;2、每个broker中存储一个或多个partition;3、partition在broker中尽量均匀分部。

4.3 Topic和partition

每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)

topic中的数据分割为一个或多个partition。每个topic至少有一个partition。每个partition中的数据使用多个segment文件存储。

partition中的数据是有序的,不同partition间的数据是无序的。

在需要严格保证消息的消费顺序的场景下,需要将partition数目设为1。

4.7 Leader

每个partition有多个副本,其中有且仅有一个作为Leader,Leader是当前负责数据的读写的partition。

4.8 Follower

Follower跟随Leader,所有写请求都通过Leader路由,数据变更会广播给所有Follower,Follower与Leader保持数据同步。如果Leader失效,则从Follower中选举出一个新的Leader。当Follower与Leader挂掉、卡住或者同步太慢,leader会把这个follower从“in sync replicas”(ISR)列表中删除,重新创建一个Follower。

 

1.2   Kafka的使用场景:
Kakfa Broker集群受Zookeeper管理

所有的Kafka Broker节点一起去Zookeeper上注册一个临时节点,因为只有一个Kafka Broker会注册成功,其他的都会失败,所以这个成功在Zookeeper上注册临时节点的这个Kafka Broker会成为Kafka Broker Controller,其他的Kafka broker叫Kafka Broker follower。

 

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页