Kafka

【Kafka】Kafka-Eagle 和 Kafka-UI 的安装使用 Kafka Eagle 提供了完善的管理页面,可以监控 Kafka 集群的整体运行情况,很方便的去管理和可视化 Kafka 集群的一些信息,例如 Broker 详情、性能指标趋势、Topic 集合、消费者信息等,在生产环境中经常使用。 阅读详情

kafka

消息队列(消息中间件)作用:

  1. 解耦:生产者和消费者实现间接对接,生产者不用等待消费者,消费者也不用放弃手中的事情而先去消费。
  2. 异步:生产者将消息放入消息队列后可以去做别的事情。提高了工作效率。
  3. 削峰:假如一个时间段内消息量暴增,比如在批量处理一些数据的时候,这时消费者可能不能瞬间处理这些消息,所以我们可以把消息暂存在消息队列中,依次处理,同时生产者那边也可以不用等待。
  • Kafka采用的是:主动pull,即Producer将消息推送到broker,Consumer主动从broker拉取消息进行消费
    • 原因主要有以下两点:
      • 首先,主要是避免push模式下,当Producer推送的速率远大于Consumer消费的速率时,Consumer承受不住压力而崩溃或消息丢失而重新推送,浪费资源
      • 再者,Push模式下,Broker不知道下游Consumer消费能力和消费策略的情况下,不知道采用立即推送单条消息还是缓存并批量推送,因此采用哪种策略可能都不合适。而Pull模式下,Consumer可以自主决定是否批量的从broker拉取数据,根据自己的消费能力去决定数据拉取策略。
  • 各组件
    • Topic:消息主题,可以理解为消息的分类(比如车辆审核,车辆消息变更),kafka的数据就保存在topic。在每个broker上都可以创建多个topic。

    • Partition:Topic的分区,每个topic可以有多个分区,分区的作用是做负载,提高kafka的吞吐量。同一个topic在不同的分区的数据是不重复的,partition的表现形式就是一个一个的文件夹!为什么要做分区?

    • Replication:每一个分区都有多个副本,副本的作用是做备胎。当主分区(Leader)故障的时候会选择一个备胎(Follower)上位,成为Leader。在kafka中默认副本的最大数量是10个,且副本的数量不能大于Broker的数量,follower和leader绝对是在不同的机器,同一机器对同一个分区也只可能存放一个副本(包括自己)。

    • Producer:生产者,写入数据

    • Consumer:消费者,即消息的消费方,是消息的出口。

    • Consumer Group:我们可以将多个消费组组成一个消费者组,在kafka的设计中同一个分区的数据只能被消费者组中的某一个消费者消费。同一个消费者组的消费者可以消费同一个topic的不同分区的数据,这也是为了提高kafka的吞吐量!

    • Broker:kafka节点(kafka实例),一个分区主题的不同分区可以存入不同的broker,但是一个分区只能存在于一个broker中

      • 如果不分区,相当于说一个topic只有一个分区,那么就只会放在一个broker中,这样broker机器的IO性能就将成为kafka的瓶颈。分区之后,每条消息被发送到Topic之前,会根据分区规则,有选择的存储在哪个分区,使消息不只是往一个Broker上写,就降低了单个Broker的IO写频率,也充分利用了多机提高了消息写入吞吐量。
      • 提高并发。以partition为读写单位,可以多个消费者同时消费数据,提高了消息的处理效率。
    • Zookeeper:kafka集群依赖zookeeper来保存集群的的元信息,来保证系统的可用性。

  • 存储策略
    • 无论消息是否被消费,kafka都会保存所有的消息。那对于旧数据有什么删除策略呢?
    • 基于时间,默认配置是168小时(7天)。
    • 基于大小,默认配置是1073741824。
    • 需要注意的是,kafka读取特定消息的时间复杂度是O(1),所以这里删除过期的文件并不会提高kafka的性能!
  • 存入数据存入数据流程
    • 消息写入leader后,follower是主动的去leader进行同步的!producer采用push模式将数据发布到broker,每条消息追加到分区中,顺序写入磁盘,所以保证同一分区内的数据是有序的!写入示意图如下:写入主题分区
  • 消费数据
    • 生产消息相同的是,消费者在拉取消息的时候也是找leader去拉取。
    • 多个消费者可以组成一个消费者组(consumer group),每个消费者组都有一个组id!同一个消费组者的消费者可以消费同一topic下不同分区的数据,但是不会组内多个消费者消费同一分区的数据。也就是一个分区的数据只可能让一个消费者来消费,但是一个消费者可以消费几个分区的数据。建议消费者组的consumer的数量与partition的数量一致
      消费数据
使用kafka-eagle监控kafka kafka-eagle(/'iːg(ə)l/)是一款简单高效的监控系统,用以监控kafka的偏移量、元数据等信息,它还提供了邮件、钉钉、微信报警功能。本篇假设已经存在一个可用的kafka集群,并介绍kafka-eagle搭建与使用。 官网:https://www.kafka-eagle.org/ github:https://github.com/smartloli/kafka-eagle 前... 阅读详情

相关推荐

Kafka(一)使用Docker Compose安装单机Kafka以及Kafka UI_docker 部署单机kafka

还有就是,当使用任何来自于bitnami的镜像,如何遇到了问题,想查看日志,可以将镜像的Debug日志打开,通过环境变量控制由于Docker Hub的说明字数限制,可以在Github上查看。

2501_90252715的博客 2100

五、ActiveMQ添加了mysql的持久化后,发了消息,但是MSGS表中没有记录.

1.持久化以后 activemq数据库 会创建3张表<bean id="derby-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"><property name="driverClassName" value="com.mysql.jdbc.Driver"/&am

Mr丶Yang 1729

Kafka Confluent 简介

Apache Kafka 消息分发组件,数据采集后先入Kafka。 Schema Registry Schema管理服务,消息出入kafka、入hdfs时,给数据做序列化/反序列化处理。 Kafka Connect 提供kafka到其他存储的管道服务,此次焦点是从kafka到hdfs,并建立相关HIVE表。 Kafka Rest Proxy 提供kafka的Rest API服务。 Kafk

石权的博客 1万+

kafka基础笔记

基础概念 kafka是一个消息队列系统,不同的生产者和消费者,可以向kafka写入自己的数据,实现数据的流动;kafka解耦了生产者和消费者,它的ack机制保证了消息传递的可靠性,借助zookeeper等实现了分布式的消息队列。 生产者可以根据需要向不同的主题写入数据,为了减少累计的网络IO时间,可以把多个消息积累到一个批次中统一发送。 消费者可以组成消费者组的概念,消费者组可以订阅主题,kafk...

Erick Lv的笔记 284

docker部署kafka监控服务kafka-exporter

1、kafka需要zookeeper管理,所以需要先安装zookeeper。 下载docker pull wurstmeister/zookeeper:latest版本 docker pull wurstmeister/zookeeper 启动镜像生成容器 docker run -d --restart="always" --name zookeeper -p 2181:2...

zchlove137的博客 5033

Kafka【三】Windows下安装Kafka集群

如果启动过程报错,主要是因为zookeeper和kafka的同步问题,请先执行cluster-clear.cmd文件,再执行cluster.cmd文件即可。集群启动命令后,会打开多个黑窗口,每一个窗口都是一个kafka服务,请不要关闭,一旦关闭,对应的kafka服务就停止了。因为kafka内置了ZooKeeper软件,所以此处将解压缩的文件作为ZooKeeper软件使用。将kafka1文件夹复制两份,改名为kafka2,kafka3。修改文件夹名为kafkazookeeper。

小小默:进无止境 3147

消息中间件面试专题及答案

activemq 的几种通信方式 publish(发布)-subscribe(订阅)(发布-订阅方式) 发布/订阅方式用于多接收客户端的方式.作为发布订阅的方式,可能存在多个 接收客户端,并且接收端客户端与发送客户端存在时间上的依赖。一个接收端 只能接收他创建以后发送客户端发送的信息。作为 subscriber ,在接收消息时 有两种方法,destination 的 receive 方法,和实现 message listener 接口的 onMessage 方法。 p2p(point-to-point)(.

mzl_sx的博客 263

如何用 Kafka Manager 实现 Kafka 集群全面监控

Apache Kafka 是现代大数据架构中不可或缺的组件,广泛用于日志收集、流处理、消息队列等场景。随着 Kafka 集群规模的增长和业务复杂度的提升,**对 Kafka 的实时监控变得尤为重要**。

九天的专栏 975

han_MQ

MQ

qq_43616155的博客 1746

【Kafka】Kafka认证与授权

Kafka的认证机制 概述 GSSAPI:使用的Kerberos认证,可以集成目录服务,比如AD。Kafka最小版本 0.9 PLAIN:使用简单用户名和密码形式,Kafka最小版本 0.10 SCRAM:主要解决PLAIN动态更新问题以及安全机制,Kafka最小版本 0.10.2 OAUTHBEARER:基于OAuth 2认证框架,Kafka最小版本 2.0 配置SASL\PLAIN 创建kafka_server_jaas.conf文件 这个文件是配置Broker服务端的JAAS,进入Kafka程序目录的

九师兄 7681

Allegro17.2 出gerber文件详细流程 - 干货

Allegro17.2 出gerber文件详细流程 - 干货

u010614434的博客 1万+

ActiveMQ消息中间件的介绍和使用

1.什么是消息中间件:        消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有 Producer(生产者)、Consumer(消费者)。   &n...

BlowMoons的博客 478

基于Q-learning的无人机三维路径规划(含完整C++代码)

基于Q-learning的无人机三维路径规划(含完整C++代码)

weixin_54186646的博客 1万+

安装配置Kafka,并使用Java集成Kafka

Kafka 是Java 语言编写的,因此需要在安装 Kafka 之前先安装 Java 运行环境。Kafka 支持 Java 8 及以上版本。可以通过以下命令检查 Java 运行环境的版本Kafka 的运⾏环境依赖于 ZooKeeper,Kafka 使用 ZooKeeper 进行分布式协调,因此在安装 Kafka 之前,需要先安装 ZooKeeper。

m0_73799407的博客 4414

十四种逻辑器件综合对比——《器件手册--逻辑器件》

逻辑器件是数字电路中最基本的逻辑单元,用于实现基本的逻辑运算,如与、或、非、异或等。逻辑门根据输入信号的组合产生相应的输出信号。与门:只有当所有输入信号都为高电平时,输出才为高电平。或门:只要有一个输入信号为高电平,输出就为高电平。非门:输出信号与输入信号相反。异或门:当两个输入信号不同时,输出为高电平;相同则输出为低电平。用于对输入信号进行反相操作,即将高电平转换为低电平,低电平转换为高电平。常用于信号的反相处理和逻辑电平的转换。

XU157303764的博客 2031

PyRoki:机器人运动学优化库入门教程

PyRoki:模块化机器人运动学优化工具包 本文介绍了PyRoki,一个模块化、可扩展且跨平台的机器人运动学优化工具包。PyRoki通过统一变量和成本函数接口,简化了逆运动学、轨迹优化和运动重定向等任务的实现,支持CPU、GPU和TPU加速。实验表明,PyRoki在批量逆运动学任务中比现有GPU加速库cuRobo快1.4-1.7倍,且收敛误差更低。其模块化设计支持快速集成新成本函数,并通过交互式可视化工具优化参数配置。PyRoki开源发布,为机器人运动优化提供了灵活高效的解决方案。

机器人控制与仿真应用 1293

kafka实战

1. kafka介绍 1.1. 主要功能 根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能:   1:It lets you publish and subscribe to streams of records.发布和订阅消息流,这个功能类似于消息队列,这也是kafka归类为消息队列框架的原因   2:It lets ...

weixin_30614109的博客 6828

WorkBuddy 技能指南:基础办公与文档处理

WorkBuddy 不仅仅是一个对话工具——它通过技能(Skills)系统,将通用 AI 助手转变为具备专业领域能力的智能助手。每个技能都是一套经过精心设计的"能力包",包含专业知识、工作流程和专用工具。本文聚焦于文档处理类技能——这是日常工作中使用频率最高、最实用的能力集合。

u011186532的专栏 705

java kafka使用

是一款结合了目前Kafka监控工具的特点,重新研发的一块开源免费的Kafka集群优秀的监控工具在启动Kafka的脚本前,添加export JMX_PORT=9988上传解压,配置环境变量vim /etc/profile配置vim conf/system-config.properties#修改第4行,配置kafka集群别名#修改第5行,配置ZK集群地址#修改第64行,打开图标统计#修改第122行,开启mysql启动。

wste3567的博客 2195

SMMU软件指南SMMU编程之流表(Stream Table)

SMMU使用一组内存中的数据结构来定位翻译数据,详见“转换过程概述”(Translation process overview)。SMMU_(*_)STRTAB_BASE 存储初始结构(流表,Stream Table)的基地址。流表项(Stream Table Entry, STE)包含二级(Stage 2)转换表的基址指针,同时也定位一级(Stage 1)配置结构,这些配置结构包含转换表的基址指针。 传入事务的 StreamID,由 SEC_SID 进行限定,决定了用于查找的流表,并定位相应的STE。

AI-安全-功耗 1190

【ARM CoreLink 系列 7 -- TZC-400控制器简介】

为了确保内存能够正确识别总线的信号控制位,新增一个TrustZone地址空间控制器(TrustZone Address Space Controller,TZASC)组件来实现对内存地址的安全扩展,将内存区域划分为安全内存区域和非安全内存区域,安全世界可以访问安全内存和非安全内存,而普通世界只能访问非安全内存,如下图所示:图 1-1内存区域的划分是在系统启动时通过配置 TZASC 组件(TZC-400/TZC-380)来实现的。TZC-400由和使能情况;安全访问权限;Base地址;

CodingCos的博客 1634

Kafka:浅谈对Kafka的认识

消息系统都致力于让Consumer以最大的速率最快速的消费消息,一些消息系统比如Scribe和Apache Flume采用了Push模式,将消息推送到下游的Consumer。更进一步的性能优化是零拷贝的使用,也就是从磁盘日志到消费者客户端的数据传递,因为Kafka是MQ,对于msg不具备加工处理,所以得以实现。物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个Broker上,但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处。注意:ack的默认值就是1。

王小二(海阔天空) 3330

YOLOv11改进:引入SSA序列打乱注意力模块与MSCSA二次创新模块,适配目标检测、图像分类与实例分割

YOLOv11改进:引入SSA与MSCSA模块提升CV任务性能 摘要: 本文提出在YOLOv11中集成SSA(序列打乱注意力)和MSCSA(多尺度上下文序列打乱注意力)模块,以解决计算机视觉任务中的关键挑战。SSA通过序列打乱和局部窗口注意力机制,在降低计算复杂度的同时增强长距离依赖建模能力;MSCSA进一步引入多尺度上下文融合和动态序列打乱策略,优化了多尺度目标检测和实例分割的边界特征处理。这些改进有效解决了传统注意力机制在全局上下文建模、局部细节保持和序列顺序敏感性方面的不足。实验表明,该方法在目标检测

走向CTO的路上... 858

Kafka + Kafka-UI

✅ 使用不需要 Zookeeper 的 Kafka—— 那就是Kafka KRaft 模式从 Kafka 2.8+ 起官方支持,3.3+ 开始默认推荐。去掉 zookeeper 依赖简化部署,性能更高更符合现在 Kafka 的新一代标准架构。

Bruce__taotao的博客 3493

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

使用Kafka UI管理Kafka

在使用Kafka进行开发时,有个可视化的管理界面有助于提高开发效率。目前已经有很多Kafka的管理界面实现。本文介绍的Kafka UI是一个新的实现。 该界面的GitHub地址是provectus/kafka-ui。GitHub - provectus/kafka-ui: Open-Source Web GUI for Apache Kafka ManagementOpen-Source Web GUI for Apache Kafka Management. Contribute to provectu

成富的专栏 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

kafka系列之camel-kafka

文章目录概述详解camel-kafka 概述 首先关于 camel 的基本概念和用法,以及 kafka 的基本概念和用法,这里就不啰嗦了。这篇文章假设你对二者都有基本的认识。 camel 本身是一个路由引擎,通过 camel 你可以定义路由规则,指定从哪里(源)接收消息,如何处理这些消息,以及发往哪里(目标)。camel-kafka 就是 camel 的其中一个组件,它从指定的 kafka top...

lucasma的博客 4998

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: 数据库基础
下一篇: JDK和CGlib动态代理
fufucen
博客等级 码龄8年 2粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值