Kafka复习

news2024/11/25 14:43:28

消息中间件的作用:

  • 异步处理:
    • 与并行相比,虽然减少了时间,但是还是得等待其他线程执行完,但是消息中间件对于简单的业务处理,还要引入一个中间件也比较复杂
    • 如果我投递了简历之后需要发送成功邮件以及短信,就可以交给消息中间件
    • 就像数据库、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.coloradmin.cn/o/1604695.html

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

相关文章

揭秘网上问卷调查:多样化类型助力数据收集

在当今数字化时代,问卷调查作为一种便捷、高效的数据收集和分析方式,被广泛运用于市场调研、学术研究、消费者反馈等领域。而在网上进行问卷调查更是提高了调查效率和覆盖范围,因此,了解网上的问卷调查类型对于设计合适的调查问卷…

如何使用Postgres的JSONB数据类型进行高效查询

文章目录 解决方案1. 创建包含JSONB列的表2. 插入JSON数据3. 使用GIN索引加速查询4. 执行高效的JSONB查询 示例代码解释 PostgreSQL的JSONB数据类型提供了一种灵活的方式来存储和查询JSON格式的数据。JSONB不仅允许你在PostgreSQL数据库中存储JSON文档,而且还对这些…

万字长文带你APK反编译重签名aabapks转换

Android反编译 反编译(Decompilation)是将已编译的程序(比如二进制代码)转换回更高级别的编程语言代码的过程。这通常用于理解程序的工作原理,进行软件审计,恢复丢失的源代码,或者进行教学研究…

CleanAmp™ dNTP应用:24min完成三重qPCR

试剂:CleanAmp™ PCR Kit 仪器:Mastercycler ep realplex4 S qPCR instrument 品牌:Trilink 国内授权代理:欣博盛生物 分子诊断需求的不断增长(如新冠核酸检测),要求所用检测试剂、设备能在更…

OpenCV的查找命中或未命中

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9更多形态转换 下一篇:OpenCV4.10使用形态运算提取水平线和垂直线 目标 在本教程中,您将学习如何使用 Hit-or-Miss 转换(也称为 Hit-and-Miss 转换&…

如何查看已使用的IP

如何查看已使用的IP 一、用cmd登录(winr) 二、用命令查看IP 在cmd命令窗口输入“ipconfig”命令,按下键盘上的回车键 这时会在cmd命令窗口看见自己电脑的IP地址,在命令窗里找到你的“以太网适配器 以太网”或者“无线局域网适配器…

网络爬虫入门

爬虫(也被称为网络爬虫或网络蜘蛛)是一种自动化程序,它可以在互联网上自动抓取数据。爬虫的基本工作原理通常包括以下几个步骤:发送请求:爬虫向目标网站发送HTTP请求,请求网页内容。接收响应:爬…

Spring AOP的实现方式与原理

目录 认识IOC与AOP AOP的实现方式 Aspect注解实现AOP 自定义注解实现AOP Spring AOP原理 代理模式 静态代理和动态代理 JDK动态代理 CGLIB动态代理 Spring AOP实现的哪种代理 认识IOC与AOP IOC又称为控制反转,也就是控制权发生了反转.在传统的程序中,我们是需要自己…

TCP/IP协议—HTTP

TCP/IP协议—HTTP HTTP协议HTTP通讯特点HTTP通讯流程 HTTP请求报文请求方法 HTTP应答报文状态码 HTTP协议 超文本传输协议(Hypertext Transfer Protocol,HTTP)是一种请求-响应的协议,用户可以通过HTTP向服务器上传、下载数据。HT…

美易官方:人民币国际支付占比升至近5%

随着全球金融市场的不断发展和数字化进程的加速,人民币的国际支付地位逐渐提升,成为备受瞩目的焦点。最近的数据显示,人民币在国际支付中的占比已经升至近5%,自11月以来已成为第四大交易货币。这一变化不仅反映了中国经济的崛起和…

AI实景无人直播自动卖卷系统,开创了实体商家直播自运营先河。

AI实景无人直播自动卖卷系统,开创了实体商家直播自运营先河。 从当下这一刻起,拒绝内耗,做行动的巨人。因为,命运不会偏袒任何人,却会眷顾一直朝着光亮前进的人。 《人民日报》 随着新媒体的快速发展,很…

使用Flask和Flask-JWT-Extended保护API免受跨站请求攻击

在本文中,我们将探讨如何使用Flask和Flask-JWT-Extended库来保护您的API免受跨站请求攻击(CSRF)。我们将首先简要介绍CSRF攻击的概念,然后详细说明如何使用Flask-JWT-Extended库来保护您的API。 什么是跨站请求攻击(C…

STM32学习和实践笔记(15):STM32中断系统

中断概念 CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂 时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序 或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序 继…

HP ProLiant DL380 Gen9 服务器 BIOS 中文设置教程

HP ProLiant DL380 Gen9 服务器 BIOS 中文设置教程 服务器开机,按F9,进入System Utilities 找到Select Language,目前设置的为English 英文 选中Select Language,按回车键 将语言由English改成中文(简体) 可以看到 中文字符 按回车键进行保存

量子AI“新高峰”:探索量子机器学习的两大最新成就——

量子力学与机器运行速度远超现今最先进超级计算机的概念结合在一起,令人着迷。从这个角度来看,量子计算机的效率可与一级方程式赛车相比,而传统计算机则仿佛蚂蚁般缓慢。最近,生成式人工智能及其卓越的机器学习能力引发了广泛讨论…

C# Solidworks二次开发:程序工具界面和选项相关API详解

大家好,今天要讲的是关于程序工具相关的API介绍。 下面是要介绍的API: (1)第一个为GetAutoPartSimplification,这个API的含义为获取简化配置的指针,下面是官方具体解释: 其输入参数的类型在上一篇文章中已经介绍过了gtError_e&a…

ZYNQ-Vitis(SDK)裸机开发之(四)PS端MIO和EMIO的使用

目录 一、ZYNQ中MIO和EMIO简介 二、Vivado中搭建block design 1.配置PS端MIO: 2.配置PS端EMIO: 三、Vitis中新建工程进行GPIO控制 1. GPIO操作头文件gpio_hdl.h: 2.GPIO操作源文件gpio_hdl.c: 3.main函数进行调用 例程开发…

吃鸡游戏msvcp140.dll丢失的解决方法

msvcp140.dll 是一个与 Microsoft Visual C Redistributable 相关的动态链接库(DLL)文件,是 Windows 操作系统中众多应用程序正常运行所必需的关键组件之一。以下是对 msvcp140.dll 文件的总体介绍和msvcp140.dll丢失的多个解决方案分享。 *…

预付费水电表系统厂家怎么选择?

1.预付费水电表系统概述 预付费水电表系统是一种现代化的计量和管理系统,它颠覆了传统的后付费模式,用户需预先支付费用才能使用水电,大大提高了物业管理和用户缴费的效率。该系统主要由智能电表、水表和集中控制管理系统三大部分组成。 2.…

【创建型模式】建造者模式

一、建造者模式概述 建造者模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同得表示。(对象创建型模式)。 建造者模式分析: 1.将客户端与包含多个部件得复杂对象得创建过程分离,客户端无需知道复杂对象…