Kafka第三课

这篇具有很好参考价值的文章主要介绍了Kafka第三课。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Flume
由三部分 Source Channel Sink
可以通过配置拦截器和Channel选择器,来实现对数据的分流,
可以通过对channel的2个存储容量的的设置,来实现对流速的控制

Kafka
同样由三大部分组成 生产者 服务器 消费者
生产者负责发送数据给服务器
服务器存储数据
消费者通过从服务器取数据

但是,Kafka比Flume要更精细一点
生产者到服务器存数据(发数据):Kafka第三课,kafka,大数据,flume,kafka,linq,分布式

获取配置->修改配置->拦截器->序列化器->分区器->sender 到broker
Kafka第三课,kafka,大数据,flume,kafka,linq,分布式

服务器如何存数据?
选举leader和发回消息
1.一个分区多个副本的controller同时去抢注册ZK
2.注册成功的监控broker节点变化
3.然后开始选举,选举出来将结果传给zk
4.其他的controller对从zk上同步节点信息(每个controller都会监控zk)
4.1.Leader挂了的话,重新选举, 然后其他controller重新同步
5.选举出来之后,生产者开始发送数据,数据由Leader同步到follower副
6.发送的数据就是Segment(默认1个G),
那么什么是Segment .log .timeindex .index .snapshot leader .metadata
50个consumer_offset 就是存储消费者读取的偏移量
7.向生产者应答
Kafka第三课,kafka,大数据,flume,kafka,linq,分布式

注意一下Leader挂是怎么挂?
1.broker直接挂 2. 数据太多,崩掉

消费者到服务器取数据:
消费者是按topic去读取的,一般都是一个分区对应一个消费者
消费者的offset由消费者自己提交到系统主题保存
按组按照消费策略进行读取
Kafka第三课,kafka,大数据,flume,kafka,linq,分布式

消费者组初始化
1.选出coordinator groupid的哈希值%50 这个组下的所有消费者提交offset都往这个分区提交
2.消费者实例到coordinator注册,然后coordinator选出一个consumer leader
3.Consumer leader制定一个消费方案,发给coordinator 然后coordinator转发
4.每个消费者都和coordinator保持心跳3s,超时(45s)移除该消费者,或者处理时间过长(超过5分钟),触发再平衡,重新制定消费方案
Kafka第三课,kafka,大数据,flume,kafka,linq,分布式

Kafka第三课,kafka,大数据,flume,kafka,linq,分布式

Kafka的高效读写
为什么?
1.Kafka本身分布式集群,分区技术,并行度高
2.读数据采用稀疏索引,可以快速定位要消费的数据
3.顺序写磁盘

他是如何顺序写磁盘的?
因为他的写入方式是追加写入

为什么顺序写磁盘快?
因为不需要寻址时间,而磁盘的寻址时间太长了

页缓存和零拷贝

什么是页缓存?
操作系统在内存中的缓存机制,
存: 存到页缓存 ->存到磁盘 取->先看页缓存有没有->没有就看磁盘

什么是零拷贝?
传输: 一般传输 ->s 内存->内核缓冲区->e网络设备 零拷贝 内存->网络设备
Kafka第三课,kafka,大数据,flume,kafka,linq,分布式

零拷贝: Kafka的数据加工处理操作交由Kafka生产者和Kafka消费者处理。而Broker应用层不关心存储数据,不用走应用层

消费者如何提高吞吐量?
1.如果消费者对分区不是1对1 ,加消费者
2.提高每批次拉数据的数量文章来源地址https://www.toymoban.com/news/detail-648330.html

到了这里,关于Kafka第三课的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式消息服务kafka

    什么是消息中间件? 消息中间件是分布式系统中重要的组件,本质就是一个具有接收消息、存储消息、分发消息的队列,应用程序通过读写队列消息来通信。 例如:在淘宝购物时,订单系统处理完订单后,把订单消息发送到消息中间件中,由消息中间件将订单消息分发到下

    2024年02月01日
    浏览(48)
  • 分布式 - 消息队列Kafka:Kafka消费者的分区分配策略

    Kafka 消费者负载均衡策略? Kafka 消费者分区分配策略? 1. 环境准备 创建主题 test 有5个分区,准备 3 个消费者并进行消费,观察消费分配情况。然后再停止其中一个消费者,再次观察消费分配情况。 ① 创建主题 test,该主题有5个分区,2个副本: ② 创建3个消费者CustomConsu

    2024年02月13日
    浏览(47)
  • 分布式 - 消息队列Kafka:Kafka生产者架构和配置参数

    生产者发送消息流程参考图1: 先从创建一个ProducerRecord对象开始,其中需要包含目标主题和要发送的内容。另外,还可以指定键、分区、时间戳或标头。在发送ProducerRecord对象时,生产者需要先把键和值对象序列化成字节数组,这样才能在网络上传输。 接下来,如果没有显式

    2024年02月13日
    浏览(50)
  • 分布式 - 消息队列Kafka:Kafka生产者发送消息的方式

    不管是把Kafka作为消息队列、消息总线还是数据存储平台,总是需要一个可以往Kafka写入数据的生产者、一个可以从Kafka读取数据的消费者,或者一个兼具两种角色的应用程序。 Kafka 生产者是指使用 Apache Kafka 消息系统的应用程序,它们负责将消息发送到 Kafka 集群中的一个或多

    2024年02月13日
    浏览(44)
  • 分布式 - 消息队列Kafka:Kafka消费者和消费者组

    1. Kafka 消费者是什么? 消费者负责订阅Kafka中的主题,并且从订阅的主题上拉取消息。与其他一些消息中间件不同的是:在Kafka的消费理念中还有一层消费组的概念,每个消费者都有一个对应的消费组。当消息发布到主题后,只会被投递给订阅它的每个消费组中的一个消费者

    2024年02月13日
    浏览(45)
  • 分布式 - 消息队列Kafka:Kafka 消费者消费位移的提交方式

    最简单的提交方式是让消费者自动提交偏移量,自动提交 offset 的相关参数: enable.auto.commit:是否开启自动提交 offset 功能,默认为 true; auto.commit.interval.ms:自动提交 offset 的时间间隔,默认为5秒; 如果 enable.auto.commit 被设置为true,那么每过5秒,消费者就会自动提交 poll() 返

    2024年02月12日
    浏览(48)
  • 分布式 - 消息队列Kafka:Kafka消费者分区再均衡(Rebalance)

    01. Kafka 消费者分区再均衡是什么? 消费者群组里的消费者共享主题分区的所有权。当一个新消费者加入群组时,它将开始读取一部分原本由其他消费者读取的消息。当一个消费者被关闭或发生崩溃时,它将离开群组,原本由它读取的分区将由群组里的其他消费者读取。 分区

    2024年02月12日
    浏览(40)
  • 分布式 - 消息队列Kafka:Kafka 消费者消息消费与参数配置

    01. 创建消费者 在读取消息之前,需要先创建一个KafkaConsumer对象。创建KafkaConsumer对象与创建KafkaProducer对象非常相似——把想要传给消费者的属性放在Properties对象里。 为简单起见,这里只提供4个必要的属性:bootstrap.servers、key.deserializer 和 value.deserializer。 ① bootstrap.servers 指

    2024年02月12日
    浏览(45)
  • 分布式 - 消息队列Kafka:Kafka生产者发送消息的分区策略

    01. Kafka 分区的作用 分区的作用就是提供负载均衡的能力,或者说对数据进行分区的主要原因,就是为了实现系统的高伸缩性。不同的分区能够被放置到不同节点的机器上,而数据的读写操作也都是针对分区这个粒度而进行的,这样每个节点的机器都能独立地执行各自分区的

    2024年02月13日
    浏览(54)
  • 【分布式技术】消息队列Kafka

    目录 一、Kafka概述 二、消息队列Kafka的好处 三、消息队列Kafka的两种模式 四、Kafka 1、Kafka 定义 2、Kafka 简介 3、Kafka 的特性 五、Kafka的系统架构 六、实操部署Kafka集群  步骤一:在每一个zookeeper节点上完成kafka部署 ​编辑 步骤二:传给其他节点 步骤三:启动3个节点 kafka管理

    2024年01月23日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包