当前位置: 首页 > news >正文

网站文章没有被收录一站式网络推广服务

网站文章没有被收录,一站式网络推广服务,小米发布会在哪里看,零基础学做网站目录 kafka是什么 Topic Partition Broker Cousumer CousumerGroup Offset reblance broker 消息存储 Isr kafka是什么 Kafka 是一个分布式的消息引擎,能够发布和订阅消息流(类似于消息队列) 以容错的、持久的方式存储消息流 多分区…

目录

kafka是什么

Topic

Partition

Broker

Cousumer

CousumerGroup

Offset

reblance

broker 消息存储

Isr


kafka是什么

Kafka 是一个分布式的消息引擎,能够发布和订阅消息流(类似于消息队列) 以容错的、持久的方式存储消息流 多分区概念,提高了并行能力。

架构如下图:

Topic

消息的主题、队列,每一个消息都有它的 topic,Kafka 通过 topic 对消息进行归类。Kafka 中可以将 Topic 从物理上划分成一个或多个分区(Partition),每个分区在物理上对应一个文件夹,以”topicName_partitionIndex” 的命名方式命名,该 dir 包含了这个分区的所有消息 (.log) 和索引文件 (.index),这使得 Kafka 的吞吐率可以水平扩展。

Partition

每个分区都是一个顺序的不可变的消息队列, 并且可以持续的添加;

分区中的消息都被分了一个序列号,称之为偏移量 (offset),在每个分区中此偏移量都是唯一的。

producer 在发布消息的时候,可以为每条消息指定 Key,这样消息被发送到 broker 时,会根据分区算法把消息存储到对应的分区中(一个分区存储多个消息),如果分区规则设置的合理,那么所有的消息将会被均匀的分布到不同的分区中,这样就实现了负载均衡。 

Broker

Kafka server,用来存储消息,Kafka 集群中的每一个服务器都是一个 Broker,消费者将从 broker 拉取订阅的消息 Producer 向 Kafka 发送消息,生产者会根据 topic 分发消息。生产者也负责把消息关联到 Topic 上的哪一个分区。最简单的方式从分区列表中轮流选择。也可以根据某种算法依照权重选择分区。算法可由开发者定义。

Cousumer

Consermer 实例可以是独立的进程,负责订阅和消费消息。消费者用 consumerGroup 来标识自己。同一个消费组可以并发地消费多个分区的消息,同一个 partition 也可以由多个 consumerGroup 并发消费,但是在 consumerGroup 中一个 partition 只能由一个 consumer 消费。

CousumerGroup

同一个 Consumer Group 中的 Consumers,Kafka 将相应 Topic 中的每个消息只发送给其中一个 Consumer

Offset

onsumer 的消息位移代表了当前 group 对 topic-partition 的消费进度,consumer 宕机重启后可以继续从该 offset 开始消费。 在 kafka0.8 之前,位移信息存放在 zookeeper 上,由于 zookeeper 不适合高并发的读写,新版本 Kafka 把位移信息当成消息,发往 consumersoffsets 这个 topic 所在的 broker,_consumersoffsets 默认有 50 个分区。 消息的 key 是 groupId+topicpartition,value 是 offset.

reblance

一些原因导致 consumer 对 partition 消费不再均匀时,kafka 会自动执行 reblance,使得 consumer 对 partition 的消费再次平衡。以下导致再平衡:

  • 组订阅 topic 数变更
  • topic partition 数变更
  • consumer 成员变更
  • consumer 加入群组或者离开群组的时候
  • consumer 被检测为崩溃的时候

新版本之后,通过延迟进入 PreparingRebalance 状态减少 reblance 次数;

broker 消息存储

Kafka 的消息以二进制的方式紧凑地存储,节省了很大空间 此外消息存在 ByteBuffer 而不是堆,这样 broker 进程挂掉时,数据不会丢失,同时避免了 gc 问题 通过零拷贝和顺序寻址,让消息存储和读取速度都非常快 处理 fetch 请求的时候通过 zero-copy 加快速度

Isr

Kafka 结合同步复制和异步复制,使用 ISR(与 Partition Leader 保持同步的 Replica 列表)的方式在确保数据不丢失和吞吐率之间做了平衡。Producer 只需把消息发送到 Partition Leader,Leader 将消息写入本地 Log。Follower 则从 Leader pull 数据。Follower 在收到该消息向 Leader 发送 ACK。一旦 Leader 收到了 ISR 中所有 Replica 的 ACK,该消息就被认为已经 commit 了,Leader 将增加 HW 并且向 Producer 发送 ACK。这样如果 leader 挂了,只要 Isr 中有一个 replica 存活,就不会丢数据。

http://www.zhongyajixie.com/news/42053.html

相关文章:

  • 网站群系统建设标准seo海外
  • 政府网站解决方案免费seo网站的工具
  • 专业的营销型网站建设公司长春seo代理
  • wordpress缓存插件对比seo网站推广方式
  • 做响应式网站设计做图怎么搞广州网络seo公司
  • 北京万网网站备案seo优化效果怎么样
  • 体育课程网站建设沈阳网站制作
  • 经营性商务网站建设需要备案吗seo页面内容优化
  • 那种漂亮的网站怎么做的软文是什么意思
  • 为什么原网站建设公司不愿意透露域名管理权限给客户网络营销与直播电商专业学什么
  • 唯一做魅惑的网站seo培训教程视频
  • 厦门广告公司网站建设北京网站维护公司
  • 争对银行排队做一网站2020年度关键词有哪些
  • 西安英文网站建设网络营销推广方案案例
  • emlog与wordpress区别优化网站哪个好
  • 北京网页网站设计制作武汉做seo公司
  • python做网站点登入没反映公众号开发网站公司
  • 武汉设计工程学院是一本还是二本seo神器
  • 网站的建设目标是什么意思免费的黄冈网站有哪些平台
  • 凡科做网站不好新东方烹饪学校学费一年多少钱
  • 凡科做网站要钱百度热搜关键词
  • 网站好坏的标准河南seo网站多少钱
  • 优秀的吉祥物设计网站百度广告投放平台
  • 拿网站的文章做外链百度关键词广告怎么收费
  • 个人网站做打赏流程成都网站建设方案外包
  • 可以免费做推广的网站西安网
  • 中国商标转让交易网百中搜优化软件
  • 定制 网站开发 价格宁德市人民政府
  • 做网站广告联盟小网站关键词搜什么
  • 高端网站开发平台流量平台排名