kafka的基本使用--学习笔记

catalyst引擎

作用:将SparkSql转换成spark rdd任务提交进行计算

  • 解析器
    • 将sparksql代码解析成语法树(未解析的逻辑查询计划)
  • 分析器
    • 将语法树解析成解析后的逻辑查询计划
    • 对逻辑查询计划进行属性和关系关联检验
  • 优化器
    • 将解析后的逻辑查询计划进行优化, 得到优化后的逻辑查询计划
    • 谓词下推(调整执行顺序)和列值裁剪(过滤列)
  • 执行器
    • 将优化后的逻辑查询计划转换成物理查询计划
    • 转换成RDD任务进行执行

kafka使用

1,消息队列

离线计算

通常称为批处理,表示哪些离线批量,延时较高的静态数据处理过程

实时计算

用户访问信息,用户访问的数据直接背传递给spark计算

概念

消息是在两台计算机传送的数据单位

临时存储传递消息的容器->kafka是非关系型数据库之一,也是消息队列之一

实时计算时需要将流数据(消息)先存储在消息队列中,否则容易产生数据积压导致数据丢失问题

应用场景:解耦,异步,消峰

解耦:接触应用之间的关联关系

异步:应用之间不会同时执行,应用B不会等待应用A执行完成后再产生信息

消峰:某个节点数据量突然增多,导致处理不过来,供大于求

2,模式

点对点模式:

一对一关系,私聊

角色:发送者(生产者),接收者(消费者)

  • 每个消息只有一个接收者(Consumer),一旦被消费,消息就不再存在于消息队列中。
  • 发送者和接收者间没有依赖性,发送者发送消息之后,不管有没有接收者在运行,都不会影响到发送者下次发送消息。
  • 接收者在成功接收消息之后需要向队列应答成功,以便消息队列删除当前接收的消息。
发布与订阅:

一对多关系,群聊。一个消息对应多个消费者

角色:主题,发布者,订阅者

  • 每个消息可以有多个订阅者。
  • 发布者和订阅者之间有时间上的依赖性。针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息。
  • 为了消费消息,订阅者需要提前订阅该角色主题,并保持在线运行。

3,分类

ActiveMQ:

TabbitMQ:应用程序对消息队列要求不高,数据临时缓存

TocketMQ:在线业务,对延迟和稳定性要求高

kafka:流计算、实时计算,处理海量的消息

选择:

  • 如果消息队列不是将要构建系统的重点,对消息队列功能和性能没有很高的要求,只需要一个快速上手易于维护的消息队列,建议使用 RabbitMQ
  • 如果系统使用消息队列主要场景是处理在线业务,比如在交易系统中用消息队列传递订单,需要低延迟和高稳定性,建议使用 RocketMQ
  • 如果需要处理海量的消息,像收集日志、监控信息或是埋点这类数据,或是你的应用场景大量使用了大数据、流计算相关的开源产品,那 Kafka 是最适合的消息队列。

kafka消息队列

特点:

可靠性:分布式,分区,赋值和容错等

可扩展性:kafka消息传递系统秦颂缩放无需停机,可以添加新的服务器资源,不需要对服务器关闭重启,可以自动识别添加

耐用性:分布式提交日志,消息会尽可能快速的保存再磁盘上,因此它是持久的

高性能:kafka对于发布和订阅都具有高吞吐量,同时存储了许多tb级消息,也有稳定的性能,kafka非常快并且保证零停机和零数据丢失

1,概念术语

  • Producer 生产者
    • 也就是发送消息的一方。生产者负责创建消息,然后将其投递到Kafka
  • Consumer 消费者
    • 也就是接收消息的一方。消费者连接到Kafka上并接收消息,进而进行相应的业务逻辑处理。
  • Consumer Group(CG)消费者组
    • 由多个 consumer 组成。
    • 消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费
    • 消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。
  • broker 服务代理节点(中间人)
    • kafka集群运行后,每台服务器上的kafka称为一个broker节点
    • 处理消费者和生成者的请求
      • 生产者需要保存数据到kafka,就需要请求broker
      • 消费者需要从kafka中获取数据,也需要请求broker
    • 多个broker会选取产生一个控制器,类似zk中的leader角色
      • 管理broker,监控broker的变化
      • 参与分区副本的领导者选举
      • 处理消费者和生成者的请求
      • 由zk从broker中选举出控制器
        • 本质哪台服务器先启动了kafka,生成了broker节点,该节点就作为控制器
  • Topic 主题
    • kakfa是对消息数据的处理
    • 消息数据会有不同的分类
    • 使用主题对消息数据进行分类,然后分别存储
    • 主题创建成功后,会将主题信息写入zk中,所有的broker就可以从zk中获取有哪些主题
    • 生产者写入数据时可以指定写入的主题,人为对数据按照主题分类
    • 消费者读取数据时也可以指定主题,从对应的主题下获取数据
  • Partition 分区(分片)
    • 分区是kafka存储数据的最小单元,消息数据最终是存储在分区上的
    • 一个主题在存储时可以指定多个分区
    • 当有多个分区时,分区被分配到不同broker上
    • 分区所存储的数据是在系统的磁盘上进行存储。每个分区会创建不同目录,然后将数据写入该目录下的文件中
    • 文件中存储的数据是有有效期的,默认的有效期是168小

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/640112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++进阶07】哈希表and哈希桶

一、哈希概念 顺序结构以及平衡树中 元素关键码与存储位置没有对应关系 因此查找一个元素 必须经过关键码的多次比较 顺序查找时间复杂度为O(N) 平衡树中为树的高度,即O( l o g 2 N log_2 N log2​N) 搜索效率 搜索过程中元素的比较次数 理想的搜索方法&#xff1a…

测试不拘一格——掌握Pytest插件pytest-random-order

在测试领域,测试用例的执行顺序往往是一个重要的考虑因素。Pytest插件 pytest-random-order 提供了一种有趣且灵活的方式,让你的测试用例能够以随机顺序执行。本文将深入介绍 pytest-random-order 插件的基本用法和实际案例,助你摆脱固定的测…

ICCV2023 | MCD: Misalign, Contrast then Distill:重新思考VLP中的错位

论文标题: Misalign, Contrast then Distill: Rethinking Misalignments in Language-Image Pretraining 论文地址:ICCV 2023 Open Access Repository 代码:None LG AI Research 一、问题提出 SLIP发现,在CLIP中引入增强(特别…

第30关 k8s容器运行时安全监控 - Falco

------> 课程视频同步分享在今日头条和B站 大家好,我是博哥爱运维。 我们前面讲到prometheus监控、K8S集群事件监控kube-eventer,这些都只是资源使用层面上的监控,对于集群的安全层面监控,我们也需要做好监控手段&#xff0c…

spring项目aop实现接口防止连续点击锁

aop实现 1,注解 注解用于接口方法、接口参数、和请求实体的属性上。 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*** author dll*/ Ta…

【零碎知识】【Python】@classmethod 与 @staticmethod

classmethod 与 staticmethod这两个方法很容易混淆,因为使用时都是通过类名直接调用其方法,与实例无关。下面记录下两者的区别。 classmethod 在Python中,classmethod是一个装饰器,用于将一个方法标记为类方法。类方法是与类关联…

MfgTool烧写工具

系列文章目录 MfgTool烧写工具 MfgTool烧写工具 系列文章目录一、MfgTool工具简介二、烧写NXP官方系统三、烧写自己的系统四、改造自己的烧写工具 一、MfgTool工具简介 1、mfgtool是NXP官方做的向I.MX系列烧写系统的软件,运行在windows下。可以烧写uboot.imx、zIma…

如何在Shopee深圳站点进行选品并提高销售潜力?

在如今的电商市场中,选品是卖家们提高销售业绩的重要环节。对于在Shopee深圳站点进行选品的卖家来说,了解市场需求、分析竞争对手、优化供应链管理、制定合理的价格策略以及精准的营销策略都是至关重要的。本文将为您介绍一些关键策略,帮助您…

php目录操作示例

目录 1.常用函数 2.列举当前目录列表 3.判断是否是文件夹 1.常用函数 函数名功能scandir 列出指定路径中的文件和目录 opendir 打开文件夹,返回操作资源 readdir读取文件夹资源closedir 关闭文件夹操作资源 is_dir 判断是否是文件夹 filetype 显示是文件夹还是文…

CSS 蜡烛效果

<template><view class="holder"><!-- 身子 --><view class="candle"><!-- 光源 --><view class="blinking-glow"></view><!-- 火星子 --><view class="thread"></view>…

VLM 系列——CLIP——论文解读

一、概述 1、是什么 论文全称《Learning Transferable Visual Models From Natural Language Supervision》,是使用图文对(将图像表征与语言联系起来)使用对比学习(有的文章称为自监督,有的文章称为无监督)训练的多模态模型。从互联网上大量文本的监督(自然语言监督)中…

transformer优化(二)-DETR 学习笔记

论文地址&#xff1a;https://arxiv.org/pdf/2005.12872.pdf 代码地址&#xff1a;https://github.com/bubbliiiing/detr-pytorch https://github.com/facebookresearch/detr 1.是什么&#xff1f; DETR&#xff08;Detection Transformer&#xff09;是一种基于Transforme…

新崛起的自动化神器Playwright

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

词语的魔力:语言在我们生活中的艺术与影响

Words That Move Mountains: The Art and Impact of Language in Our Lives 词语的魔力&#xff1a;语言在我们生活中的艺术与影响 Hello there, wonderful people! Today, I’d like to gab about the magical essence of language that’s more than just a chatty tool in o…

怎么去除水中的溴酸盐

语&#xff1a;近年来&#xff0c;我国矿泉水市场发展迅速&#xff0c;各种品牌和类型的矿泉水琳琅满目。然而&#xff0c;在众多矿泉水产品中&#xff0c;部分产品却存在溴酸盐超标的问题。本文将为您揭示矿泉水溴酸盐超标的危害&#xff0c;提醒消费者在选购矿泉水时务必谨慎…

redis的事件机制

文章目录 文件事件1. 文件事件处理器的构成2. I/O多路复用程序的实现3. 事件的类型4. 文件事件的处理器 时间事件1. 实现 事件的调度与执行 Redis服务器是一个事件驱动程序&#xff08;单Reactor单线程模型&#xff09;&#xff0c;服务器需要处理以下两类事件&#xff1a; 文件…

Kafka(三)【Broker 存储】

目录 前言 Kafka Broker 1、工作流程 1.1、Zookeeper 存储的 Kafka 信息 1.2、Kafka Broker 的总体工作流程 1.3、Broke 重要参数 2、Kafka 副本 2.1、副本基本信息 2.2、Keader 选举流程 2.3、Leader 和 Follower 的故障处理细节 Follower 故障 Leader 故障&#x…

浅谈Java序列化

基本介绍 Java序列化机制允许将一个Java对象的状态转换为字节流&#xff0c;以便可以将其保存到磁盘或在网络上进行传输。稍后&#xff0c;这些字节流可以被反序列化以重建原来的对象。这个机制在远程方法调用&#xff08;RMI&#xff09;、Java Beans&#xff0c;以及持久化等…

2017年认证杯SPSSPRO杯数学建模A题(第一阶段)安全的后视镜全过程文档及程序

2017年认证杯SPSSPRO杯数学建模 A题 安全的后视镜 原题再现&#xff1a; 汽车后视镜的视野对行车安全非常重要。一般来说&#xff0c;汽车的后视镜需要有良好的视野范围&#xff0c;以便驾驶员能够全面地了解车后方的道路情况。同时&#xff0c;后视镜也要使图像的畸变尽可能…

国产品牌GC6609与TM2209的参数分析,为什么适用于3D打印机,医疗器械等产品中

步进电机驱动的应用方案目前市场上大多选用国外品牌的电机驱动器&#xff0c;其中trinamic的TMC2208/2209在这一块的应用很广泛。但是由于市场越来越应激。&#xff0c;当前对于产品开发成本要求也越来越低&#xff0c;国产品地准出了相应的TMC2208/2209&#xff0c;因此trinam…