Kafka 架构


Kafka 架构

Broker : 作为一个后台服务。

Producer和Consumer作为SDK,将SDK引入工程当中,从外部拿数据,通过Producer的sdk发送给broker,通过Consumer的SDK将数据拿到程序当中。

如何刷新整个集群的元信息(Producer如何维护缓存的整个集群Broker的元信息)?

    Producer在向某个Broker发送消息失败之后,会主动触发刷新Broker元信息

    Producer会周期性地刷新Broker缓存的信息

    Consumer如何发现Broker?Consumer如何选择连接到Broker

会涉及到Topic和Partition

Topic&Partition

Topic

    逻辑概念,同一个Topic的消息可分布在一个或多个节点(Broker)上

    一个Topic包含一个或者多个Partition

    每条消息都属于且仅属于一个Topic

    Producer发布数据时,必须指定该消息发布到哪一个Topic

    Consumer订阅消息时,也必须指定订阅哪个Topic的消息

Partition

    物理概念,一个Partition只分布于一个Broker上(不考虑备份)

    一个Partition物理上对应一个文件夹

    一个Partition包含多个Segment(Segment对用户透明,用户无需感知)

    一个Segment对应一个文件

    Segment由一个个不可变记录组成

    记录只会被append到Segment中,不会被单独删除或者修改

    清除过期日志时,直接删除一个或多个Segment


默认kafka会将数据保存168小时。


Sync Producer(同步Producer)

    低延迟

    低吞吐率

    无数据丢失

Aync Producer(异步Producer)

    高延迟

    高吞吐率

    可能会有数据丢失

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • https://www.cnblogs.com/cyfonly/p/5954614.html 2.1 拓扑结构 2...
    miss幸运阅读 820评论 0 0
  • Kafka 架构简介 Kafka是一个开源的、分布式的、可分区的、可复制的基于日志提交的发布订阅消息系统。它具备以...
    Kandy阅读 602评论 1 0
  • 本文目录 对于kafka的架构原理我们先提出几个问题? 1.Kafka的topic和分区内部是如何存储的,有什么特...
    longxingxiu阅读 534评论 0 0
  • 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O...
    高广超阅读 12,886评论 8 167
  • 《单纯》 清晨的太阳就像新的开始 不知道脚下这条路 是否有尽头。或是通往 宫殿一样的房子 或是房子的门都是灰色 在...
    君凉阅读 329评论 7 13