Kafka下载安装及基本使用

目录

Kafka介绍

消息队列的作用

消息队列的优势

应用解耦

异步提速

削峰填谷

 为什么要用Kafka

Kafka下载安装

Kafka快速上手(单机体验)

1. 启动zookeeper服务

2. 启动kafka服务

3. 简单收发消息

Kakfa的消息传递机制


Kafka介绍

       Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发并于2011年开源。它主要用于解决大规模数据的实时流式处理和数据管道问题。

       Kafka是一个分布式的发布-订阅消息系统,可以快速地处理高吞吐量的数据流,并将数据实时地分发到多个消费者中。Kafka消息系统由多个broker(服务器)组成,这些broker可以在多个数据中心之间分布式部署,以提供高可用性和容错性。

       Kafka的基本架构由生产者、消费者和主题(topic)组成。生产者可以将数据发布到指定的主题,而消费者可以订阅这些主题并消费其中的数据。同时,Kafka还支持数据流的处理和转换,可以在管道中通过Kafka Streams API进行流式计算,例如过滤、转换、聚合等。

       Kafka使用高效的数据存储和管理技术,能够轻松地处理TB级别的数据量。其优点包括高吞吐量、低延迟、可扩展性、持久性和容错性等。

       Kafka在企业级应用中被广泛应用,包括实时流处理、日志聚合、监控和数据分析等方面。同时,Kafka还可以与其他大数据工具集成,如Hadoop、Spark和Storm等,构建一个完整的数据处理生态系统。

消息队列的作用

       队列是一种FIFO先进先出的数据结构。消息则是跨进程传递的数据。一个典型的MQ系统,会将消息消息由生产者发送到MQ进行排队,然后根据一定的顺序交由消息的消费者进行处理。

消息队列的优势

应用解耦

          

       假如用户访问订单系统,而订单系统跟其他系统是强耦合的,如图如果库存系统挂了,那么整个订单系统也都不能用了。   如果这种情况还想要增加新的XX系统进来,那么就只能修改源代码来完成。系统的耦合性越高,容错性就越低,可维护性就越低。

            

       通过引入MQ做到应用解耦,库存系统出现异常可以等库存系统恢复后去MQ中拿消息,此时不影响别的系统调用,如果还要加入新的系统比如XX系统,那么只需XX系统去MQ中拿取消息进行处理即可。使用MQ可以提升容错性和可维护性。

异步提速

       

 原先用户请求订单系统,需要等到订单系顺序调用其他系统无误后返回,比较耗时。

       

       现在通过引入MQ,订单系统只需要把信息发送到MQ中即可,相当于完成了之前顺序请求其他系统的步骤,时间成本大大减低。

削峰填谷

           
             
以上场景中激增请求会打垮系统,造成服务不可用。

           

 通过将激增请求先放到MQ当前,然后系统再根据自身情况拉取请求来消费


 为什么要用Kafka

Kafka产品的特点:

1、数据吞吐量很大: 需要能够快速收集各个渠道的海量数据(一般收集海量日志)。

2、集群容错性高:允许集群中少量节点崩溃。

3、功能不需要太复杂:Kafka的设计目标是高吞吐、低延迟和可扩展,主要关注消息传递而不是消息处理。所以,Kafka并没有支持死信队列、顺序消息等高级功能。

4、允许少量数据丢失:Kafka本身也在不断优化数据安全问题,目前基本上可以认为Kafka可以做到不会丢数据。


Kafka下载安装

下载地址:Apache Kafka

下载完成后解压,注意目录位置,先启动zookeeper

 在启动kafka服务

       一般都可以正常启动,使用默认的配置即可,如果执行命令发现报错“命令语法不正确。”请将下载的文件移到最外层目录,如上图位置。(本人遇到此问题,找寻了多种解决方案,发现这种方式才能解决我的问题。)


Kafka快速上手(单机体验)

1. 启动zookeeper服务

2. 启动kafka服务

3. 简单收发消息

       Kafka的基础工作机制是消息发送者可以将消息发送到kafka上指定的topic,而消息消费者,可以从指定的topic上消费消息。

             

创建主题

bin\windows\kafka-topics.bat --create --topic test --bootstrap-server localhost:9092

查看主题

bin\windows\kafka-topics.bat --describe --topic test --bootstrap-server localhost:9092

生产者往test的Topic发消息 

bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test

消费者消费test的Topic消息

bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

​        这样就完成了一个基础的交互。这其中,生产者和消费者并不需要同时启动。他们之间可以进行数据交互,但是又并不依赖于对方。没有生产者,消费者依然可以正常工作,反过来,没有消费者,生产者也依然可以正常工作。这也体现出了生产者和消费者之间的解耦。

指定消费进度

如果需要精确的消费消息,可以指定从哪一条消息开始消费。

bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --partition 0 --offset 2 --topic test

这表示从第0号Partition上的第二个消息开始读起。


Kakfa的消息传递机制

       Kafka的消息发送者和消息消费者通过Topic这样一个逻辑概念来进行业务沟通。但是实际上,所有的消息是存在服务端的Partition这样一个数据结构当中的。

                  
​Kafka的基本概念:
客户端Client:
       包括消息生产者 和 消息消费者。之前简单接触过。
消费者组:
       每个消费者可以指定一个所属的消费者组,相同消费者组的消费者共同构成一个逻辑消费者组。每一个消息会被多个感兴趣的消费者组消费,但是在每一个消费者组内部,一个消息只会被消费一次。
服务端Broker:
        一个Kafka服务器就是一个Broker。
话题Topic:
       这是一个逻辑概念,一个Topic被认为是业务含义相同的一组消息。客户端都通过绑定Topic来生产或者消费自己感兴趣的话题。
分区Partition:
       Topic只是一个逻辑概念,而Partition就是实际存储消息的组件。每个Partiton就是一个queue队列结构。所有消息以FIFO先进先出的顺序保存在这些Partition分区中。

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

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

相关文章

模拟实现哈希表 - HashMap(Java版本)

目录 1. 概念 2. 冲突-概念 3. 冲突-避免 4. 冲突-避免-哈希函数设计 5. 冲突-避免-负载因子调节 ⭐⭐⭐⭐⭐ 6. 冲突-解决 6.1 冲突-解决-闭散列 6.2 冲突-解决-开散列/哈希桶 ⭐⭐⭐⭐⭐ 7. 冲突严重时的解决办法 8. 模拟实现 1. 概念 顺序结构以及平衡树中&#…

揭开时间序列的神秘面纱:特征工程的力量

目录 写在开头1. 什么是特征工程?1.1 特征工程的定义和基本概念1.2 特征工程在传统机器学习中的应用1.3 时间序列领域中特征工程的独特挑战和需求3. 时间序列数据的特征工程技术2.1 数据清洗和预处理2.1.1 缺失值处理2.1.2 异常值检测与处理2.2 时间特征的提取2.2.1 时间戳解析…

MySQL基础(三)-学习笔记

一.innodb引擎: 1). 表空间:表空间是InnoDB存储引擎逻辑结构的最高层,启用了参数 innodb_file_per_table(在 8.0版本中默认开启) ,则每张表都会有一个表空间(xxx.ibd),一个mysql实例可以对应多个…

计算机网络——网络层(3)

计算机网络——网络层(3) 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)1 网络层——控制平面因特网中自治系统内部的路由选择总括考虑因素总结 ISP之间的路由选择:BGP考虑因素总结 SDN控制层面重要组件和功能总结 ICMP主要功能和特点…

京东手机评论分析

文章目录 前言:数据处理1.1数据导入1.2数据描述1.3数据预处理 2.情感分析2.1情感分析安装snownlp包 2.2 情感分直方图情感分直方图 2.3 词云图2.4 关键词提取关键词top10 3 积极评论与消极评论3.1 积极评论与消极评论占比计算积极评论与消极评论各自的数目积极评论占比 3.2 消极…

大脑模型认知实验报告(脑与认知期末考核)

实验名称:大脑模型认知实验 实验目的: (1)对大脑的三部分、七层结构、区域划分有一个清晰的认识。 (2)对脑的各个区域的基本功能以及脑的工作方式有所了解。 实验环境:大脑模具、配有详细标…

Mongodb安装Linux

确定你的CentOS 版本 使用以下命令: /etc/centos-release下载Mongodb 解压tgz压缩包 创建data和log文件夹 , 确定你的文件夹访问权限 在log文件夹里面创建mongodb.log文件(这一步很重要 ! ! !) touch mongodb.log创建mongodb.conf文件 在你的mongodb文件夹下 vi mongo…

Flink 1.18.1 部署与配置 [CentOS7]

静态IP设置 # 修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33# 修改文件内容 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic IPADDR192.168.18.128 NETMASK255.255.255.0 GATEWAY192.168.18.2 DEFROUTEyes IPV4_FAILURE_FATALno IPV6INIT…

如何本地搭建Emby影音管理服务并结合内网穿透实现远程访问本地影音库

文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一&…

6个AI写作工具,让你的文字变得生动有力

写作是一项需要耐心和技巧的任务,对于许多人来说,写作可能是一项困难的挑战。然而,随着人工智能的发展,AI智能写作软件逐渐崭露头角,为我们提供了更加便捷和高效的写作体验。在本文中,我们将介绍几款好用的…

Spring-mybatis

怎样通过Spring整合Mybatis来实现业务 目录 1.导入依赖 <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency>&l…

一文教你如何本地搭建Qchan图床网站实现公网远程访问

文章目录 前言1. Qchan网站搭建1.1 Qchan下载和安装1.2 Qchan网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar云端设置2.2 Cpolar本地设置 3. 公网访问测试总结 前言 图床作为云存储的一项重要应用场景&#xff0c;在大量开发人员的努力下&#xff0c;已经开发出大…

代码随想录 Leetcode77.组合

题目&#xff1a; 代码&#xff08;首刷看解析 2024年2月1日&#xff09;&#xff1a; class Solution { public:vector<vector<int>> res;vector<int> path;void backtracing(int n, int k, int startIndex) {if (path.size() k) {res.push_back(path);re…

windows pm2 执行 npm脚本或执行yarn脚本遇到的问题及解决方案

环境&#xff1a; 在windows上启动终端来运行一个项目&#xff1b;通过指令npm run start来启动&#xff0c;但是将终端一关&#xff0c;就无法访问了&#xff0c;所以想到用pm2来管理 1. 全局安装pm2 npm i pm2 -g2. 在项目根目录执行指令(大部分兄弟的错误使用方法) pm2 st…

微信小程序(二十七)列表渲染改变量名

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.改变默认循环单元item变量名 2.改变默认循环下标index变量名 基础模板有问题可以先看上一篇 源码&#xff1a; index.wxml <view class"students"><view class"item"><te…

解释性人工智能(XAI)

引言 解释性人工智能&#xff08;XAI&#xff09;是指一类旨在使人能够理解和解释机器学习模型的方法和技术。XAI的目标是提高AI系统的透明度和可理解性&#xff0c;让人们能够理解机器学习模型的决策过程、推理方式和结果。这对于社会应用和用户信任非常重要&#xff0c;因为A…

推荐系统|排序_融合预估分数

因为点赞率、收藏率和转发率是不同维度的数据&#xff0c;需要将其整合成一个数据&#xff0c;从而方便比较。 方法就是乘上对应的权重。而点赞、收藏和转发都是发生在点击之后的&#xff0c;也就是说会有先后的关系&#xff0c;概率会以乘的形式出现。 特殊的&#xff0c;当…

2023爱分析·数据智能厂商全景报告|爱分析报告

利用多种数据智能技术实现数据驱动的分析与决策&#xff0c;已经成为当前企业数字化转型最重要的目标之一。随着数据来源日益丰富、数据体量快速增长&#xff0c;企业对数据的依赖和挖掘愈发深入&#xff0c;不仅带来数据应用场景、数据用户角色的复杂和多元&#xff0c;也使得…

【MATLAB源码-第131期】基于matlab的淘金优化算法(GRO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 淘金优化算法&#xff08;GoldRush Optimizer&#xff0c;简称GRO&#xff09;是一种启发式优化算法&#xff0c;它受到淘金过程的启发。在淘金过程中&#xff0c;淘金者在河流或矿区中寻找金矿&#xff0c;通过筛选沙砾来寻…

在 WLC上配置WPA2-Enterprise WLAN

实验大纲 第1部分&#xff1a;创建一个新的WLAN 第1步&#xff1a;创建一个新的VLAN接口 第2步&#xff1a;配置WLC让它使用RADIUS服务器 第3步&#xff1a;创建一个新的WLAN 第4步&#xff1a;配置WLAN安全策略 第2部分&#xff1a;配置DHCP范围和SNMP 第1步&#xff1…