【赵渝强老师】Kafka的体系架构

在这里插入图片描述
  Kafka消息系统是一个典型的分布式系统,其组成部分包括:消息生产者(Producer)、消息消费者(Consumer)、消息服务器(Broker)以及分布式协调服务ZooKeeper。一个典型的Kafka消息系统的集群架构如下图所示。
在这里插入图片描述
  视频讲解如下:

Kafka的体系架构

【赵渝强老师】Kafka的体系架构

  下表列举了Kafka中的一些术语,这些术语对于掌握Kafka的内容非常重要。
在这里插入图片描述

一、消息服务器Broker

  Broker是消息的服务器。生产者往Brokers里面的指定主题中写入消息,消费者从Brokers里面拉取指定主题的消息,然后进行业务处理。Broker在中间起到一个代理保存消息的作用。

  另一方面,Broker没有副本机制。因此一旦Broker宕机,该Broker的消息将都不可用。消费者可以回溯到任意位置重新从Broker中进行消息的消费。当消费者发生故障时,可以选择最小的消息偏移量地址进行重新读取消费消息。

二、主题、分区与副本

  Kafka中的消息以主题为单位进行归类,生产者负责将消息发送到特定的主题,而消费者负责订阅主题进行消费。主题可以分为多个分区,一个分区只属于某一个主题。下面为列举了主题和分区的关系:

  • 同一主题下的不同分区包含的消息不同。生产者发送给主题的消息都是具体发送到某一个分区中。
  • 消息被追加到分区日志文件的时候,Broker会为消息分配一个特定的偏移量地址(offset)。该地址是消息在分区中的唯一标识,Kafka通过它来保证消息在分区的顺序性。
  • offset不能跨越分区,也就是说Kafka保证的是分区有序而不是主题有序;

  下图展示了主题与分区之间的关系。
在这里插入图片描述
  在这个例子中,Topic A有3个分区。消息由生产者顺序追加到每个分区日志文件的尾部。Kafka中的分区可以分布在不同的Kafka Broker上,从而支持负载均衡和容错的功能。也就是说,Topic是一个逻辑单位,它可以横跨在多个Broker上。

三、生产者

  消息的生产者负责将消息发送到Kafka的Broker上。生产者生产的消息可以是字符串类型的消息,也可以是一个对象。

四、消息的消费

  消息的消费者负责消费和处理消息。在Kafka消息系统中采用了消费者组的方式来管理消费者。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵渝强老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值