草庐IT

KAFKA_HOME

全部标签

【面试】Kafka基础知识

定义Kafka是一个分布式基于发布/订阅模式的消息队列优点解耦:上下游之间依赖解耦。缓冲/削峰:生产消息的速度和消费消息的速度不一致时,可以起到缓冲作用。异步:天然的异步处理机制,生产者把消息(任务)放进队列,消费者把消息(任务)从队列中拿出。关键名词生产者(Producer):消息生产者,负责给KafkaBroker发消息。消费者(Consumer):消息消费者,负责从KafkaBroker中取消息。消费者组(ConsumerGroup,CG):消费者组,由多个消费者组成。代理者(Broker):Kafka集群中的服务器。主题(Topic):生产者和消费者面向的队列。分区(Partition

Kafka 如何保证消息不丢失

1、生产者1.1丢失原因:kafka生产端异步发送消息后,不管broker是否响应,立即返回,伪代码producer.send(msg),由于网络抖动,导致消息压根就没有发送到broker端;kafka生产端发送消息超出大小限制,broker端接到以后没法进行存储;1.2解决方案:1、生产者调用异步回调消息。伪代码如下:producer.send(msg,callback);2、生产者增加消息确认机制,设置生产者参数:acks=all。partition的leader副本接收到消息,等待所有的follower副本都同步到了消息之后,才认为本次生产者发送消息成功了;3、生产者设置重试次数。比如:

Kafka消费者使用案例

本文代码链接:https://download.csdn.net/download/shangjg03/884226331.消费者和消费者群组在 Kafka 中,消费者通常是消费者群组的一部分,多个消费者群组共同读取同一个主题时,彼此之间互不影响。Kafka 之所以要引入消费者群组这个概念是因为 Kafka 消费者经常会做一些高延迟的操作,比如把数据写到数据库或 HDFS ,或者进行耗时的计算,在这些情况下,单个消费者无法跟上数据生成的速度。此时可以增加更多的消费者,让它们分担负载,分别处理部分分区的消息,这就是 Kafka 实现横向伸缩的主要手段。 需要注意的是:同一个分区只能被同一个消费者

为Kafka添加用户名密码支持并配置ssl协议

在使用kafka过程中,出于安全考虑需要给kafka配置支持用户名密码验证(zookeeper使用kafka自带)和SSL验证推荐下载kafka的kafka_2.13-3.5.0版本,本配置方法基于kafka_2.13-3.5.0版本,其他版本可能略有调整。kafka安装目录为/opt/kafka,jdk安装目录为/opt/jdk。1.编写生成证书的脚本,详细步骤如下:vimcert.sh输入如下内容:#!/bin/bash#Step1keytool-keystoreserver.keystore.jks-alias192.168.1.11-validity365-keyalgRSA-genk

【超级详细】熟悉Kafka的基本使用方法的实验【Windows】

文章目录前言一、实验平台二、实验内容一、Kafka与MySQL的组合使用1.实验要求2.在MySQL中操作3.安装Kafka4.使用Kafka5.在PyCharm中操作二、消费者手动提交1.实验要求2.在PyCharm中操作三、Kafka消费者订阅分区1.实验要求2.在终端操作3.在PyCharm中操作三、实验小bug总结前言Kafka是由Apache软件基金会开发的一个开源消息队列平台,它是一种高性能、可扩展、分布式的发布-订阅消息系统。Kafka的架构被设计为高效、低延迟,并具有高吞吐量、持久性和可靠性。在Kafka中,生产者将消息发布到主题(topic)中,消费者则从主题中消费消息,使用

mongodb - 用于时间序列数据的 Kafka 与 MongoDB

我正在考虑是将MongoDB还是Kafka用于时间序列数据集。乍一看,使用Kafka显然很有意义,因为它就是为此而构建的。但我也希望在查询等方面有一些灵active。这让我产生疑问:“为什么不直接使用MongoDB来存储带时间戳的数据并按时间戳对它们进行索引?”天真地想,这感觉就像它具有与Kafka类似的好处(因为它是按时间偏移索引)但具有更大的灵active。但话又说回来,我确信人们有很多理由在这种类型的用例中使用Kafka而不是MongoDB。有人可以解释一下为什么在这种情况下可能想要使用Kafka而不是MongoDB的一些原因吗? 最佳答案

Kafka 安装部署-单节点

       Kafka强依赖ZK,如果想要使用Kafka,就必须安装ZK,Kafka中的消费偏置信息、kafka集群、topic信息会被存储在ZK中。有人可能会说我在使用Kafka的时候就没有安装ZK,那是因为Kafka内置了一个ZK,一般我们不使用它。部署说明本文使用kafka单节点安装及配置,并使用kafka自带的zookeeper。一般kafka需要起三个kafka构成集群,可以连单独的zookeeper,本文不涉及。kafka下载根据需要下载对应版本的安装包,下载地址:https://archive.apache.org/dist/kafka/上传安装包并解压重命名(路径自定义):如

Kafka增加安全验证安全认证,SASL认证,并通过spring boot-Java客户端连接配置

出发点公司Kafka一直没做安全验证,由于是诱捕程序故需要面向外网连接,需要增加Kafka连接验证,保证Kafka不被非法连接,故开始研究Kafka安全验证使用Kafka版本为2.4.0版本,主要参考官方文档官网官网对2.4版本安全验证介绍以及使用方式地址:https://kafka.apache.org/24/documentation.html#security具体流程使用SASL/PLAIN进行身份验证SASL/PLAIN是一种简单的用户名/密码身份验证机制,通常与TLS一起使用以进行加密以实现安全身份验证。Kafka支持SASL/PLAIN的默认实现,可以扩展用于生产用途,如此处所述。

离谱!面试为啥都问Kafka?赶紧补一下

大家好,我是哪吒。Kafka几乎是当今时代背景下数据管道的首选,无论你是做后端开发、还是大数据开发,对它可能都不陌生。开源软件Kafka的应用越来越广泛。面对Kafka的普及和学习热潮,哪吒想分享一下自己多年的开发经验,带领读者比较轻松地掌握Kafka的相关知识。一、理解Kafka集成模式1、什么是Kafka?ApacheKafka是一个高吞吐量、分布式、可水平扩展的消息传递系统,最初由LinkedIn开发。它的目标是解决海量数据的实时流式处理和传输问题。Kafka的核心思想是将数据转化为流,并以发布-订阅的方式传递。上图描述了Kafka的核心概念和数据流向。从中可以看出,生产者将消息发布到主

Kafka基本原理、生产问题总结及性能优化实践

Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。(分布式的流处理平台)Kafka的使用场景日志收集:一个公司可以用Kafka收集各种服务的log,通过kafka以统一接口服务的方式开放给各种c