当前位置: 首页 > news >正文

【八股】消息中间件

通用MQ问题

使用场景

  • 异步发送(验证码、短信、邮件)
  • MYSQL和Redis,ES之间的数据同步
  • 分布式事务
  • 削峰填谷

消息的重复消费问题

👉定义:消费者已经消费了消息,但是可能由于网络抖动或者消费者挂了导致ack回执没有发送给MQ

👉解决方案

  1. 为每条消息设置一个唯一的标识id,在消费者消费消息时,验证这个业务id是否存在,如果存在则说明已经消费过,不要再消费了。
  2. 幂等方案:添加redis分布式锁、数据库锁(乐观锁、悲观锁)

RabbitMQ

消息发送的一般流程

  1. 消息的发送者(publisher)将消息发送给交换机(exchange)
  2. 由交换机路由到各个消息队列(queue)
  3. 再由消费者(consumer去消费消息)。

如何保证消息不丢失

👉开启生产者确认机制Publisher Confirm,如果消息发送失败会返回不同的ack【比如step1失败,响应nack publish-confirm;step2失败,响应

相关文章:

【八股】消息中间件

通用MQ问题 使用场景 异步发送(验证码、短信、邮件)MYSQL和Redis,ES之间的数据同步分布式事务削峰填谷消息的重复消费问题 👉定义:消费者已经消费了消息,但是可能由于网络抖动或者消费者挂了导致ack回执没有发送给MQ 👉解决方案 为每条消息设置一个唯一的标识id,在…...

【17-Ⅰ】Head First Java 学习笔记

HeadFirst Java 本人有C语言基础,通过阅读Java廖雪峰网站,简单速成了java,但对其中一些入门概念有所疏漏,阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…...

weblogic 反序列化 [CVE-2017-10271]

一、漏洞描述 这个漏洞是wls-wsat这个接口出了问题,Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。攻击者发送精心构造的…...

CoPilot 产品体验:提升 OpenNJet 的控制管理和服务提供能力

文章目录 前言系统架构介绍CoPilot 配置CoPilot 插件规范 体验 CoPilot 实例CoPilot: Broker 实例CoPilot: Ctrl 实例 开发其他语言编写的 CoPilot目标主要思路具体实现执行 go 程序代码 功能扩展总结 前言 CoPilot 是 OpenNJet 的一个重要组成部分,它在 Master-Wo…...

Leetcode 第396场周赛 问题和解法

问题 有效单词 有效单词需要满足以下几个条件: 至少包含3个字符。 由数字0-9和英文大小写字母组成。(不必包含所有这类字符。) 至少包含一个元音字母。 至少包含一个辅音字母。 给你一个字符串word。如果word是一个有效单词,则…...

OC foudation框架(上)学习

foundation框架 文章目录 foundation框架字符串(NSString && NSMutableString)NSString的其他功能NSMutableString 日期与时间 (NSDate)2.1 日期与时间(NSDate)2.2日期格式器日历与日期组件定时器&…...

【机器学习300问】83、深度学习模型在进行学习时梯度下降算法会面临哪些局部最优问题?

梯度下降算法是一种常用的优化方法,用于最小化损失函数以训练模型。然而,在使用梯度下降算法时,可能会面临以下局部最优问题。 (一)非凸函数的局部极小值 问题描述:在复杂的损失函数中,如果目…...

基于springboot的校园管理系统源码数据库

基于springboot的校园管理系统源码数据库 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,校园管理系统当然也不能排除在外。校园管理系统是以实际运用为开发背景,…...

图形网络的自适应扩散 笔记

1 Title Adaptive Diffusion in Graph Neural Networks(Jialin Zhao、Yuxiao Dong、Ming Ding、Evgeny Kharlamov、Jie Tang)【NIPS 2021】 2 Conclusion The neighborhood size in GDC is manually tuned for each graph by conductin…...

vue基础配置

vite.config.ts import { defineConfig } from vite import vue from vitejs/plugin-vue import path from "path"; //引入svg需要用到的插件 import { createSvgIconsPlugin } from vite-plugin-svg-icons //mock插件提供方法 import { viteMockServe } from vite-…...

C++基础中的存储类别

存储的类别是变量的属性之一,C语言定义了4种变量的存储类别,分别是auto变量、static变量、register变量和extern变量。以下重点介绍这几种类型。 一、auto变量 auto变量是C默认的存储类型。函数内未加存储类型说明的变量均被称为自动变量,即…...

【NPM】Nginx Proxy Manager 一键申请 SSL 证书,自动续期,解决阿里云SSL免费证书每3个月失效问题

文章目录 1、NPM 简介2、实战Step 1:环境搭建 也可以看作者安装笔记 Step 2:创建容器 2.1 在系统任意位置创建一个文件夹,此文档以~/nginx-proxy-manager为例。2.2 创建docker-compose.yaml2.3 启动NPM服务 Step 3:配置反向代理3…...

教你解决PUBG绝地求生游戏中闪退掉线无法重连回去的问题

《绝地求生》(PUBG),作为一款在全球范围内掀起热潮的战术竞技游戏,以其栩栩如生的战场环境和令人心跳加速的生存冒险博得了广大玩家的青睐。然而,一些玩家在经历了一场惊心动魄的对局后,却面临了一个不大不…...

24 Debian如何配置Apache2(4)LAMP+phpMyAdmin部署

作者:网络傅老师 特别提示:未经作者允许,不得转载任何内容。违者必究! Debian如何配置Apache2(4)LAMP+phpMyAdmin部署 《傅老师Debian小知识库系列之24》——原创 ==前言== 傅老师Debian小知识库特点: 1、最小化拆解Debian实用技能; 2、所有操作在VM虚拟机实测完成;…...

centos安装paddlespeech各种报错解决方案

背景 windows系统安装paddlespeech一路顺利 centos安装之前也是正常 今天centos再次安装各种报错,避免以后遇到浪费时间,记录下来,也给大家节约时间 报错 报错1 module numpy has no attribute complex. 解决方案 降低numpy # 1. 卸载当前numpy库 pip uninstall numpy…...

谈基于ATTCK框架的攻击链溯源

引言 网络安全在当今数字化时代变得尤为关键,而MITRE公司开发的ATT&CK框架则成为了安全专业人员的重要工具。ATT&CK是一种广泛使用的攻击行为分类和描述框架。其目的在于提供一个共同的语言,使安全专业人员能够更好地理解攻击者的行为和目标&…...

在Ubuntu下搭建自己的以太坊私有链

最近要对链及链上应用进行压测,为了方便操作及分析问题,就自己搭建了一个eth私链。当前版本安装官方指引发现有卡点,于是决定整理一个文档,为其他有需要的朋友提供便捷操作,节约时间。 一、环境配置 linux操作系统:Ubuntu 20.04.6 LTS (Focal Fossa) go version: go1…...

巩固学习4

python中函数逆置的几种方法 s input()for i in range(len(s)-1,-1,-1):#从最后一位开始,步长为-1print(s[i],end)用for语句循环逆置 s input() s list(s) n len(s) for i in range(n//2):s[i],s[n-1-i] s[n-1-i],s[i]#从中间反转字符串 res "".j…...

Conda安装rasterio报错

Conda安装rasterio报错 文章目录 Conda安装rasterio报错问题解决参考 问题 在conda环境中安装rasterio包之后,本来可以正常运行的,但是之后又重新安装了一个gdal,导致原来的引用rasterio的包的程序不可正常运行了 conda install rasterio c…...

linux安装 mysql

环境:centOS8 一、安装 1 安装wget库 sudo yum -y install wget 2. 安装 mysql 换yum源 亲测成功!!!!!! 换yum源 1.下载对应版本的repo文件 wget -O CentOS-Base.repo http://mirrors…...

亿级并发下的抢票系统架构:从DDD到微服务的实战解析

1. 抢票系统的业务挑战与技术痛点 每年春运期间,12306系统都要面对全球最严苛的高并发考验。2019年春运最高峰日点击量达到1495亿次,相当于每个中国人当天点击了100多次。这种量级的并发请求,如果直接打到数据库上,就算是把阿里云…...

Qwen3.5-4B模型在嵌入式系统日志智能分析中的实践

Qwen3.5-4B模型在嵌入式系统日志智能分析中的实践 1. 嵌入式日志分析的痛点与机遇 在物联网网关、工业控制器等嵌入式设备运行过程中,系统日志就像设备的"健康日记",记录着每一次心跳、每一次异常。传统运维人员需要像"破译密码"一…...

UI-TARS-desktop快速上手:10分钟完成Qwen3-4B多模态Agent桌面版部署与任务验证

UI-TARS-desktop快速上手:10分钟完成Qwen3-4B多模态Agent桌面版部署与任务验证 想体验一个能看懂屏幕、操作软件、帮你完成任务的AI助手吗?今天要介绍的UI-TARS-desktop,就是一个内置了强大视觉理解能力的多模态AI Agent桌面应用。它基于Qwe…...

ClawdBot优化升级:如何配置国内大模型,提升响应速度与效果

ClawdBot优化升级:如何配置国内大模型,提升响应速度与效果 1. 项目概述 ClawdBot(现更名为MoltBot)是一款开源的个人AI助手工具,它能够在本地设备上运行,通过vLLM提供后端模型能力。这个工具特别适合开发…...

如何突破Cursor AI试用限制:3种方法重新获得Pro功能

如何突破Cursor AI试用限制:3种方法重新获得Pro功能 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial…...

Captain AI vs DeepSeek:Ozon 卖家专属 AI,垂直深耕更懂俄语区

做Ozon跨境,选 AI 工具别只看 “全能”,更要看 “专业”和“精通”。DeepSeek 是通用型跨境AI,覆盖多平台、多场景;而Captain AI是Ozon垂直定制 AI,聚焦俄语区与Ozon规则,四大核心功能精准解决卖家从新品到…...

从真题到实战:拆解CCF-GESP C++三级核心考点与避坑指南

1. 数据编码:从ASCII到UTF-8的实战解析 在CCF-GESP C三级考试中,数据编码是必考的核心知识点。很多同学第一次接触这个概念时容易懵圈——不就是存个字符吗,怎么还有这么多门道?其实理解编码就像学外语,ASCII是基础英语…...

如何在一天内彻底改变你的人生(How to Fix Your Entire Life in 1 Day)

如何在一天内彻底改变你的人生 作者:丹科伊(Dan Koe) 你大概率会放弃自己的新年决心。 这没什么大不了的。大多数人都会这样(研究显示失败率高达80%至90%),因为大多数人并非真的在内心深处渴望改变。也就是…...

游戏多开检测技术深度解析与实战绕过方案

1. 游戏多开检测技术全景解析 游戏多开检测本质上是一种防止同一程序重复运行的技术手段。我在逆向分析各类游戏客户端时发现,现代游戏通常会采用组合拳式的检测策略,从简单的进程查找到复杂的驱动级验证,防御层级越来越深。对于开发者而言&a…...

图深度学习文献宝库LiteratureDL4Graph:一站式掌握图神经网络研究进展

图深度学习文献宝库LiteratureDL4Graph:一站式掌握图神经网络研究进展 【免费下载链接】LiteratureDL4Graph 项目地址: https://gitcode.com/gh_mirrors/li/LiteratureDL4Graph 想要快速掌握图神经网络(GNN)和图深度学习的最新研究进展吗?Litera…...