Kafka复习

消息中间件的作用:

  • 异步处理:
    • 与并行相比,虽然减少了时间,但是还是得等待其他线程执行完,但是消息中间件对于简单的业务处理,还要引入一个中间件也比较复杂
    • 如果我投递了简历之后需要发送成功邮件以及短信,就可以交给消息中间件
    • 就像数据库、redis数据一致性,需要用到延迟双删,也可以异步处理
  • 应用解耦:
    • 比如用户下单之后,需要去库存系统缩减库存,这时候呢如果通过feign远程调用,这样耦合度就比较高,通过消息中间件去确保最终一致性
  • 流量削峰:
    • 像12306在抢票的时候,并发量极高,就将这些请求放在消息队列中一个个的去处理
  • 日志处理:
    • 将日志放在消息队列中,解决大日志传输的问题。
  • 流处理

Kafka的优点:

  • 天然支持分布式
  • 持久化数据(默认保存七天)
  • 流式处理动态的数据
  • 高性能、高可用、高伸缩性(集群目标)

基本概念:

  • 消息和批次:
    • 消息:由字节数组组成
    • 为了提高效率,会将消息以批次(生产者源码里的缓冲池)的形式写入
    • 序列化和反序列化(JSON或者XML)
  • 主题和分区:
    • topic:以主题的形式进行分类(类似于数据库中的表),一个主题可以跨越多个服务器,高性能之一,多台服务器磁盘读写比单台更高
    • partition:一个topic对应多个分区,消息顺序追加
  • 生产者:
    • 消息默认情况下均衡分布在所有分区上,如果需要指定分区,可以自己写分区器或者根据key
    • 直接指定分区:
  • 消费者:
    • 消费者订阅主题,可以订阅不同的主题,可以负责不同分区,但是一个分区只能对应一个消费者,按照消息顺序读写
    • 分区的偏移量都会保存在kafka上consumer_offset这个主题上
  • Broker和集群:
    • 主要工作接收消息,设置偏移量,磁盘保存
    • 拉模式,响应请求
    • Brocker会组成一个集群,每个集群中会选出一个集群控制器( Kafka使用 Zookeeper的临时节点来选举控制器,并在节点加入集群或退出集群时通知控制器)。包括进行分区,监控brocker
    • 集群内布通过管道技术进行高效的复制
    • 消息持久化:要么时间7天要么大小1G
    • 常见配置:
      • brocker id 集群不能重复
      • listeners:监听列表
      • zookeeper connect:集群的地址
      • num partitions:分区数量
      • 日志时间
      • 分区大小
      • 日志片段大小
      • 能接收的最大字节数
  • 硬件对于性能的影响:
    • 磁盘吞吐量影响生产者,写的快性能就好
    • 内存影响消费者,消费者数据一般从内存之

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

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

相关文章

vue快速入门(二十六)生命周期钩子函数

注释很详细&#xff0c;直接上代码 上一篇 新增内容 生命周期钩子函数的解析生命周期函数效果演示 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevic…

《Linux运维总结:Kylin V10+ARM架构CPU基于docker-compose一键离线部署mongodb4.0.11之副本集群》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&…

华为“天才少年”4万字演讲:现在的AI技术要么无趣,要么无用

近期&#xff0c;一篇4万字的演讲风靡于国内人工智能&#xff08;AI&#xff09;学术圈。 原华为“天才少年”、Logenic AI公司联合创始人李博杰博士&#xff0c;日前发表了一篇关于AI Agent思考的文章&#xff0c;题为“AI Agent 应该更有趣还是更有用”。 李博杰在这篇文章…

Claude国内镜像网站

AI生产力工具Claude 3私藏链接大公开&#xff01; &#x1f680; 国内尚未开放注册&#xff1f;别担心&#xff0c;这里有你想要的解决方案&#xff01; &#x1f517; 私藏链接&#xff1a;https://hiclaude3.cn &#x1f31f; 推荐指数&#xff1a;&#x1f31f;&#x1f…

探索设计模式的魅力:融合AI大模型与函数式编程、开启智能编程新纪元

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 &#x1f680; 转载自热榜文章&#xff1a;探索设计模式的魅力&#xff1a;融合AI大模型与函数式…

葡萄书--图卷积网络

现有图神经网络皆基于邻居聚合的框架&#xff0c;即为每个目标节点通过聚合其邻居刻画结构信息&#xff0c;进而学习目标节点的表示 谱域方法&#xff1a;利用图上卷积定理从谱域定义图卷积。空间域方法&#xff1a;从节点域出发&#xff0c;通过在节点层面定义聚合函数来聚合…

如何把PDF转成word文件?三个好用的方法推荐给你

PDF转Word的问题&#xff0c;一直是许多人在处理文档时经常遇到的挑战。PDF作为一种广泛使用的文件格式&#xff0c;具有许多优点&#xff0c;如保持文档的原始布局、防止内容被轻易修改等。然而&#xff0c;这也意味着PDF文件在某些情况下不易编辑&#xff0c;特别是当需要对其…

Linux系统一键安装DataEase结合内网穿透实现公网访问本地WebUI界面

文章目录 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 前言 DataEase 是开源的数据可视化分析工具&#xff0c;帮助用户快速分析数据并洞察业务趋势&#xff0c;从而实现业务…

基于51单片机点滴输液控制系统LCD显示( proteus仿真+程序+设计报告+讲解视频)

基于51单片机点滴输液控制系统LCD显示 1. 主要功能&#xff1a;2. 讲解视频&#xff1a;3. 仿真设计4. 程序代码5. 设计报告6. 设计资料内容清单&&下载链接 基于51单片机点滴输液控制系统LCD显示( proteus仿真程序设计报告讲解视频&#xff09; 仿真图proteus7.8及以上…

SpringBoot 集成Swagger3

说明&#xff1a; 1&#xff09;、本文使用Spring2 集成Swagger3&#xff0c; 本想使用Springboot3 jdk 17 集成Swagger3, 但是搜了一些资料&#xff0c;Spring 想引用swagger3 需要依赖降级使用Spring2 版本&#xff0c;不然会出现下图的报错信息&#xff0c; 或者使用Sprin…

python笔记 | 哥德巴赫猜想

哥德巴赫猜想&#xff1a;每个不小于6的偶数都可以表示成两个素数之和。 素数&#xff1a;只能被1和自身整除的正整数。就是大于1且除了1和它本身之外没有其他因数的数。例如&#xff0c;2、3、5、7、11等都是素数&#xff0c;而4、6、8、9等则不是素数。 下面这段Python代码…

Python学习(四)文件操作

文件操作 想想我们平常对文件的基本操作&#xff0c;大概可以分为三个步骤(简称文件操作三步走): ① 打开文件 ② 读写文件 ③ 关闭文件 注意:可以只打开和关闭文件&#xff0c;不进行任何读写 在Python&#xff0c;使用open函数&#xff0c;可以打开一个已经存在的文件&…

【Java】处理工具类详解

在Java开发中&#xff0c;日期和时间的处理是一个绕不开的话题。Java自身提供了丰富的API来处理日期和时间&#xff0c;但是使用起来可能较为繁琐。因此&#xff0c;许多开发者会使用一些工具类来简化日期和时间的处理。本文将介绍一个常用的日期处理工具类——DateUtils&#…

环形链表的约瑟夫问题(牛客网)

/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param n int整型 * param m int整型 * return int整型*/struct ListNode * BuyNode(int n)//创建节点和成环{ struct ListNode *pheadNULL;struct ListNode *ptailN…

吐血整理!跨境电商全年选品方向!一年12个月热点解析

一月 演出服、礼盒、贺卡、装饰品、彩带、拉花、红地毯、邀请函、荧光棒、泡泡机等。 二月 超级碗&#xff1a;投影仪、蓝牙音箱、超级碗电子游戏、望远镜、运动类产品等&#xff1b; 情人节&#xff1a;珠宝、服饰饰品、巧克力、香水、口红、烘焙用品、礼盒、个人护理、成…

MySQL常用命令和函数的讲解以及表之间的联结

Mysql的中一些语句的用法&#xff1a; 有表&#xff1a; CREATE TABLE book (id int(20) NOT NULL,book_name varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 书名,press varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NUL…

pymavlink 解析自定义mavlink消息。

1.下载mavlink_master包&#xff0c;用于将xml 文件生成对应的py文件。地址是 https://codeload.github.com/mavlink/mavlink/zip/refs/heads/master 进入目录运行python .\mavgenerate.py 呈现gui程序 2.根据发送端的消息定义格式修改接收解析段的pymavlink有关库。 可修改……

基于大数据的手机销售数据分析可视化系统,爬取京东和淘宝的的手机商品数据进行分析,Flask,Python,数据可视化

介绍 该系统主要是通过爬取京东和淘宝的的手机商品数据进行分析。爬虫python脚本通过打开浏览器授权登录后按照搜索“手机”关键字后出现的商品列表进行爬取&#xff0c;获取标题名&#xff0c;解析付款人数&#xff0c;品牌&#xff0c;评论人数&#xff0c;发货地&#xff0…

算法学习——LeetCode力扣补充篇14(179. 最大数、43. 字符串相乘、32. 最长有效括号、543. 二叉树的直径、113. 路径总和 II)

算法学习——LeetCode力扣补充篇14 179. 最大数 179. 最大数 - 力扣&#xff08;LeetCode&#xff09; 描述 给定一组非负整数 nums&#xff0c;重新排列每个数的顺序&#xff08;每个数不可拆分&#xff09;使之组成一个最大的整数。 注意&#xff1a;输出结果可能非常大&…

吴恩达2022机器学习专项课程(一) 第二周课程实验:特征缩放和学习率(多元)(Lab_03)

备注&#xff1a;笔者只对个人认为的重点代码做笔记&#xff0c;其它详细内容请参考吴恩达老师实验里的笔记。 1.多元特征的训练集 调用load_house_data()函数&#xff0c;将训练集数据保存到数组中。 X&#xff0c;y分别存储所有训练样本的前四列&#xff0c;所有训练样本的…