Kafka归集-基础概念

一、基本概念

生产者:消息的创建者,将消息按照一定格式序列化的发送到Kafka的主题的分区中。默认情况下把消息均衡的发布到主题的所有分区上面;

ps:

a、生产者不关心特定的消息会被写到哪个分区;

b、某些情况下,生产者会把消息直接写到指定的分区(稍后说特定情况);



消费者:消息的消费者,用来从kafka的broker中读取消息从而进行业务逻辑处理;

ps:

a、订阅一个或者多个主题(topic)并按照消息生成的顺序读取他们;

b、通过检查消息的偏移量(offset)来区分已经读取过的消息;

c、可以有一个或者多个消费者共同读取一个主题;


消费者群组:多个消费者构成了一个消费者群组;

ps:

a、保证每个分区只能被一个消费者使用;

b、消费者和分区的映射通常会被称为消费者对分区的所有权关系;

c、一个消费者群组会有多个消费者。但是理论上一个消费者对应一个分区,如果消费者多于分区,那么会空闲多余的消费者;


Broker:英文释义为代理。在消息队列中,其实就是发布消息的中心点。一个独立的kafka服务器就是一个Broker;

ps:

a、接收生产者的消息;

b、为消息设置提交量和偏移量

c、提交消息到磁盘保存;


分区:分区是构成Broker的组成部分。

ps:

a、一个分区可以分配给多个Broker,这时候就会发生分区复制;

b、分区复制在Broker失效的时候,其他的Broker就可以接管领导权(涉及到Broker的重新选主)


主题:消息(数据单元)按照主题进行分类,消息和主题的关系可以理解为数据库记录和数据库表的关系;

ps:

a、主题可以被分为若干个分区,一个分区就是一个提交日志;

b、消息以追加的方式写入分区,然后以先进先出(队列)的顺序读取;

c、一个主题一般包含几个分区,因此无法在整个主题范围内保证消息的顺序,但是Broker可以保证消息在单个分区内的顺序;


消息(数据单元):具备一定格式的结构化和序列化的业务数据;

ps:

a、消息在分区中是严格自增的,自增的id即为偏移量,用来标识消息已经读取消费到哪里了;

b、保留消息是kafka的一个重要属性,提供了两种保存策略:

b1、按照时间保存,默认是保存7天;

b2、按照空间保存,比如保留1GB的数据;




这张图可以很好的来理解各个基本概念之间的关系以及消息流转;

从小到大的概念来理解;


                    生产者     

消息→分区→   主题      →Broker 

                   消费者     →消费者群组


涉及到的额外概念以及从图中看到的疑问点:

1、kafka的分区选主;

2、kakfa集群;

3、消息具体如何路由到哪个分区上?

4、分区主从复制;

5、消费者群组的作用和定位?

6、最重要的:kafka如何做到高性能,高并发,高可靠性的???










转载于:https://juejin.im/post/5c9f1d76f265da307e5b4ab9

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值