大家好,欢迎来到IT知识分享网。
Kafka消息中间件
Kafka简介
Kafka是一种分布式的基于发布/订阅的消息系统。
● 以时间复杂度为O(1)的方式提供消息持久化能力,并保证即使是TB级以上数据也能保证常数时间的访问性能。
● 高吞吐率,即使在非常廉价的商用机器上也能做到单机支持每秒10万条消息的传输。
● 支持Kafka Server间的消息分区及分布式消息消费,同时保证每个分区内的消息顺序传输。
● 支持离线数据处理和实时数据处理。
Kafka中的关键概念和术语
● Broker(代理)
Kafka集群包含一个或多个服务器,这种服务器被称为Broker。
● Topic(主题)
每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个Broker上,但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存储于何处)。
● Partition(分区)
Partition 是 物 理 上 的 概 念 , 每 个 Topic 包 含 一 个 或 多 个Partition , 创 建 Topic 时 可 指 定 Partition 的 数 量 。 每 个Partition对应一个文件夹,该文件夹下存储该Partition的数据和索引文件。
● Producer(生产者)
负责发布消息到Kafka Broker。
● Consumer(消费者)
从Kafka Broker上消费消息。
一个典型的Kafka集群中包含若干Producer(Web前端产生的数据 、 服 务 器 日 志 、 系 统 CPU 、 Memory 指 标 数 据 等 ) , 若 干Broker(Kafka支持水平扩展,一般Broker数量越多,集群吞吐率越高),若干ConsumerGroup(消费者集群),以及一个ZooKeeper集群 。 Kafka 通 过 ZooKeeper 管 理 集 群 配 置 , 选 举 Leader , 以 及 在ConsumerGroup发生变化时进行平衡。Producer使用Push模式将消息发布到Broker,Consumer使用Pull模式从Broker检索并消费消息,如下图所示。
Kafka高性能设计
Kafka通常的使用场景是高并发和高吞吐场景,当我们需要每秒处理几十万、上百万条消息时,相对其他消息队列实现,Kafka处理得更快。同时当具有百万或千万消费者时,在同等配置的机器下,Kafka所拥有的Producer和Consumer会更多,读者可参考相关资料自学Kafka的高性能设计。
本文给大家讲解的内容是MOM异步通信,Kafka消息中间件
- 下篇文章给大家讲解的内容是MOM异步通信,Spring Cloud Stream概述
- 觉得文章不错的朋友可以转发此文关注小编;
- 感谢大家的支持!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/6406.html