kafka 基础概念

一、常用消息队列对比

kafka 最主要的优势是其具备分布式功能、并可以结合 zookeeper 可以实现动态扩 容,Kafka 是一种高吞吐量的分布式发布订阅消息系统。
在这里插入图片描述

二、kafka 优势

kafka 通过 O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以 TB 的 消息存储也能够保持长时间的稳定性能。 查找10w的数据与查找100w的数据,消耗性能和时间一样。
高吞吐量:即使是非常普通的硬件 Kafka 也可以支持每秒数百万的消息。一般用于日志收集。
支持通过 Kafka 服务器分区消息。 把数据保存到不同服务器上。 分区总数不会超过服务器总数。提高整体的I/O性能。以及实现跨主机备份数据的功能。
支持 Hadoop 并行数据加载。
在这里插入图片描述
在这里插入图片描述
由生产者先传给kafka,kafka再决定传给哪个partiton,而不是生产者直接指定partition。

O(1)就是最低的时空复杂度了,也就是耗时/耗空间与输入数据大小无关,无论 输入数据增大多少倍,耗时/耗空间都不变,哈希算法就是典型的 O(1)时间复杂 度,无论数据规模多大,都可以在一次计算后找到目标。

三、kafka 角色

Broker:Kafka 集群包含一个或多个服务器(虚拟机或物理机或容器),这种服务器被称为 broker。

Topic :每条发布到 Kafka 集群的消息都有一个类别,这个类别被称为 topic,(物 理上不同 topic 的消息分开存储在不同的文件夹,逻辑上一个 topic 的消息虽然保 存于一个或多个 broker 上但用户只需指定消息的 topic 即可生产或消费数据而不 必关心数据存于何处),topic 在逻辑上对 record(记录、日志)进行分组保存,消 费者需要订阅相应的 topic 才能消费 topic 中的消息。
每个topic都有一个相关的目录,不同topic由不同文件夹隔开,三个topic就是三个目录。

Partition :是物理上的概念,每个 topic 包含一个或多个 partition,创建 topic 时 可指定 parition 数量,每个partition 对应于一个文件夹,该文件夹下存储该 partition 的数据和索引文件,为了实现实现数据的高可用,比如将分区 0 的数据 分散到不同的 kafka 节点,每一个分区都有一个 broker 作为 leader 和一个 broker 作为 Follower。

分区的优势(分区因子为 3):
一:实现存储空间的横向扩容,即将多个 kafka 服务器的空间结合利用
二:提升性能,多服务器读写
三:实现高可用,分区 leader 分布在不同的 kafka 服务器,比如分区 0 的 leader 为服务器 A,则服务器 B 和服务器 C 为 A 的 follower,而分区 1 的 leader 为服务 器 B,则服务器 A 和 C 为服务器 B 的 follower,而分区 2 的 leader 为 C,则服务 器 A 和 B 为 C 的 follower。

一个kafka集群可以有多个topic,每个topic就是一个文件夹,每个 topic 包含一个或多个 partition,每一个Partition都有一个 broken(服务器) 作为 leader 和一个 broken(服务器) 作为 Follower。

Producer:负责发布消息到 Kafka broker。

Consumer:消费消息,每个 consumer 属于一个特定的 consuer group(可为每个 consumer 指定 group name,若不指定 group name 则属于默认的 group),使用 consumer high level API 时,同一 topic 的一条消息只能被同一个 consumer group 内的一个 consumer 消费,但多个 consumer group 可同时消费这一消息。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值