kafka 3.x 学习笔记

kafka 3.x 学习笔记

在 kafka 2.8.0 版本之前,安装使用 kafka 需要配套安装 zookeeper,但在 2.8.0 版本之后,不再需要安装 zookeeper,本次学习笔记采用的 kafka 版本为 3.0.0。

文章目录

    • kafka 3.x 学习笔记
      • 一、kafka 定义
        • 1 什么是 kafka?
        • 2 消息队列
        • 3 消息队列应用场景
        • 4 消息队列的两种模式
        • 5 kafka 基础架构
      • 二、Centos 7 安装 kafka

一、kafka 定义

1 什么是 kafka?
  • 传统定义:kafka 是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。

    • 发布/订阅:消息的发布者不会将消息发给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息。
  • kafka 是一个开源的分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。


2 消息队列

市面上常见的消息队列产品主要有 kafka、ActiveMQ、RabbitMQ、RocketMQ 等。在大数据领域主要采用 kafka 作为消息队列,在 java web开发中主要采用 ActiveMQ、RabbitMQ、RoketMQ。


3 消息队列应用场景
  • 缓冲/消峰:尤其是特定环境下大量的并发请求,后端接口不能在短时间承受这些大量的接口,因此采用消息队列做缓冲处理。


  • 异步解耦:举例一个通俗易懂的案例:现在的很多平台都提供了借钱的入口,比如美团,我猜测美团后台的逻辑大致应该是这样的:

    • 1、首先用户提交个人信息;

    • 2、美团后端接收到用户信息后,进行借款额度判断:

      比如调用法院官网,查看此人是不是老赖;
      调用银行的征信系统,查看此人征信是否良好等等;
      调用政府相关部门官网,查看此人是否有房产车产等等。
      调用完毕后,得出一个初始的可款额度。

    • 3、将用户存入借款用户表;

    • 4、调用第三方短信服务,向用户发送借款额度的通知短信;

    • 5、美团 app 向用户展示可借款金额,然后向用户确认是否借款,如借款则向用户银行卡转账。

举例的这个小案例,只是本人的猜测,如果这些步骤采用同步的方式设计的话,显然很不友好,采用异步不仅能解耦,也能加快后端服务的响应速度。

4 消息队列的两种模式
  • 点对点模式:消费者主动拉取数据,消息收到后清楚消息。
  • 发布/订阅模式:可以有多个 topic 主题,消费者获取自己对应的 topic,消费者消费数据之后,不删除数据,并且消费者之间相互独立。

5 kafka 基础架构

在这里插入图片描述
但是对于每个 topic,数据量太大的时候为提高吞吐量,可以将 topic 进行分而治之:

在这里插入图片描述

二、Centos 7 安装 kafka

kafka 官方地址:http://kafka.apache.org/downloads.html

在这里插入图片描述
1 在官网下载安装包后上传至服务器,进行解压安装:

tar -zxvf kafka_2.12-3.0.0.tgz

2 把 kafka_2.12-3.0.0 重命名:kafka

mv kafka_2.12-3.0.0 kafka

在这里插入图片描述

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

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

相关文章

【Proteus仿真】【51单片机】篮球比赛计分器

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用声光报警模块、动态数码管模块、按键模块等。 主要功能: 系统运行后,数码管显示比赛时间和AB队得分;系统还未开…

网络和Linux网络_10(网络层)IP协议+分片组装+网段划分+路由

目录 1. IP协议作用和报头 1.1 IP和TCP作用 1.2 IP协议报头 2. 分片与组装 2.1 分片与组装概念 2.2 类似面试题的QA 3. 网段划分和IP地址 3.1 网段划分 3.2 IP地址分类 3.3 内外IP和公网IP地址 4. 路由和8位生存时间 4.1 路由的概念 4.2 8位生存时间 5. IP相关选…

华为云之一键安装宝塔面板

华为云之一键安装宝塔面板 一、本次实践介绍1.1 实践环境简介1.2 本次实践目的 二、宝塔面板介绍三、环境准备工作3.1 预置实验环境3.2 查看环境信息3.3 登录华为云3.4 查看弹性云服务器状态3.5 ssh登录弹性云服务器3.6 查看操作系统版本 四、安装宝塔面板4.1 一键部署宝塔面板…

git 本地改动无法删除

1. 问题 记录下git遇到奇怪的问题,本地有些改动不知道什么原因无法删除 git stash, git reset --hard HEAD 等都无法生效,最终通过强制拉取线上解决 如下图: 2. 解决 git fetch --all git reset --hard origin/master执行这两…

业务场景中Hive解析Json常用案例

业务场景中Hive解析Json常用案例 json在线工具 json格式转换在线工具 https://tool.lu/json/format格式互转: // 格式化可以合并整行显示 {"name":"John Doe","age":35,"email":"johnexample.com"}// 格式化…

TimeGPT:时间序列预测模型实例

时间序列预测领域正在经历一个非常激动人心的时期。在过去的三年里,我们见证了许多重要的贡献,如N-BEATS、N-HiTS、PatchTST和TimesNet等。同时,大型语言模型(LLM)近来在流行度方面取得了很大的成功,例如Ch…

深入了解Java Period类,对时间段的精确控制

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概2900多字,预计阅读时间长需要3分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…

海外的直播平台

1、Netflix Netflix以允许人们从众多设备观看系列和电影而闻名。用户可以开设一个帐户并添加不同的用户个人资料,这对于想要为整个家庭拥有单独帐户而又无需开设大量帐户并单独付款的人来说非常有用。它现在增加了一个直播服务,允许观众参加现场练习课程…

chrome overrides 怎么用?

在network里找到你想替换的文件 右键选择override content 他会提示你选择文件夹 你选择本地的一个 紧接着他会提示你 点允许 再去你创建的那个目录里查看 会发现 他自动帮你创建了目录 他会把线上的被替换目标文件放在里面 你直接修改他就可以了

MySQL InnoDB Cluster

MySQL InnoDB Cluster 一、InnoDB Cluster 基本概述 MySQL InnoDB Cluster 为 MySQL 提供了一个完整的高可用解决方案。通过使用 MySQL Shell 提供的 AdminAPI,你可以轻松地配置和管理一组至少由3个MySQL服务器实例组成的 InnoDB 集群。 InnoDB 集群中的每个 MySQL 服务器实例…

python爬虫基础知识

使用python进行网络爬虫开发之前,我们要对什么是浏览器、什么HTML,HTML构成。请求URL的方法都有一个大概了解才能更清晰的了解如何进行数据爬取。 什么是浏览器? 网页浏览器,简称为浏览器,是一种用于检索并展示万维网信息资源的…

基于Java SSM框架实现实现四六级英语报名系统项目【项目源码+论文说明】

基于java的SSM框架实现四六级英语报名系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个高校四六级报名管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作…

绿色建筑革新,气膜球馆成为城市锻炼新热点

近年来,全民健身设施蓬勃发展,个性化球场设计逐渐取代了传统模式,其中备受欢迎的是新潮的绿色建筑——气膜室内球馆。这种创新的建筑形式不仅适用于传统的篮球、足球、羽毛球等常规运动,还可以容纳冰壶、滑雪等更为复杂的活动&…

Spring事务传播机制

在上篇文章中,小编带领大家了解了Spring事务:Spring事务-CSDN博客,那么,本篇文章将会带领大家深入了解:Spring事务传播机制,感兴趣的各位老铁,欢迎深入探讨!! 事务传播机…

JavaScript编程基础 – For循环

JavaScript编程基础 – For循环 JavaScript Programming Essentials – For Loop By JacksonML 循环可以多次执行代码块,而不用反复重写相同的语句。这无疑对提升代码质量、减少错误大有脾益。本文将简要介绍for循环的几种案例,希望对读者有所帮助。 …

PostgreSQL + SQL Server = WiltonDB

WiltonDB 是一个基于 PostgreSQL 的开源数据库,通过 Babelfish 插件支持 Microsoft SQL Server 协议以及 T-SQL 语句。 Babelfish 是亚马逊提供的一个开源项目,使得 PostgreSQL 数据库同时具有 Microsoft SQL Server 数据查询和处理的能力。Babelfish 可…

【源码篇】基于SpringBoot+Vue实现的在线考试系统

文章目录 系统说明技术选型成果展示账号地址及其他说明 系统说明 基于SpringBootVue实现的在线考试系统是为高校打造的一款在线考试平台。 系统功能说明 1、系统共有管理员、老师、学生三个角色,管理员拥有系统最高权限。 2、老师拥有考试管理、题库管理、成绩管…

C++分数计算器

C分数计算器各种分数计算类型都能计算 代码:https://mbd.pub/o/bread/ZZeZk5hx 一 目的 (1)定义一个整数类。 定义一个分数类,由整数类派生。能对分数进行各种计算和输入/输出。可进行分数的加、减、乘和除法等四则运算。 流程…

CYCA少儿形体礼仪 朝阳市培训成果考核圆满落幕

少年成长从形体教育开始——从2020年美育中考落地执行开始,美育成为少儿教育发展的必经之路,助力少儿综合能力全面发展。CYCA中国文化管理协会青少年文化艺术委员会全面贯彻党的教育方针,促进儿童素质艺术教育并深入实施,从少儿形…

“Install Js dependencies failed“JS SDK安装失败【Bug已解决-鸿蒙开发】

文章目录 项目场景:问题描述原因分析:解决方案:解决措施1解决方案2:其他解决方案解决方案3:此Bug解决方案总结项目场景: 在下载JS SDK时,出现下载失败的情况,并显示“Install Js dependencies failed”。 在使用版本为DevEco Studio 3.0.0.601 Beta1进行低代码开发时…