RocketMq常见问题

如何保证消息不丢失?

产生丢失消息的节点主要有以下几点

  1. 生产者发到broker
  2. broker把消息从缓存写入磁盘
  3. breker同步到从节点
  4. 消费者消费消息
  5. 消息积压太多, 会删除历史消息, 这里不会校验消息有没有消费

解决:

  1. 生产者同步发送消息, 如果发送失败, 写重试逻辑, 如果重试多次还失败, 可以存到数据库, 定时任务重试
  2. 生产者发送事务消息, 保证本地事务和发送消息一致性, 间接达到消息不丢失
  3. broker先写入缓存, 如果缓存来不及写入磁盘, 可能造成消息丢失. 可以配置同步刷盘解决这个问题, 收到客户端一条消息马上写磁盘, 可能造成性能问题, rmq默认是10ms写一次
  4. Dledger主从架构保证MQ主从同步时不会丢消息.
    1. 采用两阶段方式, 主broker的DledgerServer收到消息后, 会先标记为uncommitted状态, 然后把
    2. 然后主broker的DledgerServer把消息发送到从broker的DledgerServer组件
    3. 从broker的DledgerServer收到消息后会返回一个ack
    4. 主broker的DledgerServer收到半数以上的ack, 才会把uncommitted改成commited
  5. 消费者不要使用异步或者try catch, 固定返回SUCCESS.应该根据实际业务, 真的处理成功再返回成功, 如果消费失败, 消费者会自动重试

如何快速处理消息大量积压

  1. 如果消息不重要, 允许丢失, 可以在控制台直接跳过消息
  2. 增加消费节点. 注意: 一个messageQueue只能被一个消费者消费, 因此消费者不能超过messqgeQueue数量
  3. 转移Topic. 将消息转发到新的TOPIC, 新的TOPIC又会分配新的MessageQueue, 并行消费.
  4. 将消息存到数据库, 削峰, 开定时任务慢慢消费 

Rmq如何实现高性能

  1. 消息零拷贝
  2. 所有消息都写到commitlog, 顺序写
  3. 文件索引机制
  4. 推模式实时推送消息

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

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

相关文章

机器学习笔记 - 了解学习率对神经网络性能的影响

一、简述 深度学习神经网络使用随机梯度下降优化算法进行训练。学习率是一个超参数,它控制每次更新模型权重时响应估计误差而改变模型的程度。学习率值太小可能会导致训练过程过长并可能陷入困境,而值太大可能会导致过快地学习次优权重或训练过程不稳定。 配置神经网络时,学…

基于Java SSM框架实现抗疫医疗用品销售系统项目【项目源码+论文说明】

基于java的SSM框架实现抗疫医疗用品销售系统演示 摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,抗疫医疗用品销售平台当然也不能排除在外。抗疫医疗用品销售平台是以实…

微服务黑马头条(简略笔记)

Linux中nacos的拉取安装 拉取naocs镜像:docker pull nacos/nacos-server:1.2.0创建容器:docker run --env MODEstandalone --name nacos --restartalways -d -p 8848:8848 nacos/nacos-server:1.2.0访问地址:http://192.168.200.130:8848/n…

【MySQL】之联合索引与最左匹配原则

前言: 最左匹配原则在我们 MySQL 开发过程中和面试过程中经常遇到,为了加深印象和理解,我在这里把 MySQL 的最左匹配原则详细的讲解一下,包括它的原理以及是否导致索引失效的场景。 在讲解 MySQL 的最左匹配原则之前,…

管理类联考——逻辑——真题篇——按知识分类——综合推理

文章目录 2023真题(2023-29)-数量关系模型真题(2023-31-32)-综合推理-匹配-数量假言匹配模型-数量假言模型:题干数量加假言,数量关系优先算;假言命题做串联,易出矛盾和二难。真题(2023-37-38)-综合推理-数量假言匹配模型-数量假言模型:题干数量加假言,数量关系优先…

深入理解LightGBM

1. LightGBM简介 GBDT (Gradient Boosting Decision Tree) 是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。GBDT不仅在工业界应用广泛&#…

宣布全面推出适用于 macOS 的 Amazon EC2 M2 Pro Mac 实例

即日起,Amazon Elastic Compute Cloud (Amazon EC2) M2 Pro Mac 实例现已全面推出 (GA)。在为 Apple 平台(例如 iOS、macOS、iPadOS、tvOS、watchOS、visionOS 和 Safari)构建和测试应用程序时,这些实例的性能比现有的 M1 Mac 实例…

http正向代理测试,nginx反向代理中转正向代理服务器

有3台服务器如下: 192.168.111.201(反向代理到正向代理服务器) 192.168.111.202(正向代理服务器) 192.168.111.203(目标WEB系统) 防火墙网络策略如图所示: 1、192.168.111.200 只能访问 192.168…

grep用法详解

grep用法详解 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 深入解析grep命令:轻松搜寻文本,提高程序猿效率 在程序猿的日常工作中&…

Python小技巧2:在同一行打印多个元素

在Python代码中,如果我们想要打印一条日志或者一个元素。一般会使用如下语句: print("this is end!") #打印字符串:this is end!print(i) #打印出变量i的值 而此时,如果想打印两个元素,一般来说&#xff0…

配置802.1x认证

实验目的: 某公司拥有两个部门,市场部和人事部门,市场部和人事部的IP地址分别为10.1.11.0/24、10.1.21.0/24两个IP网段。市场部属于vlan11,人事部属于vlan21。现在需要在SW2上配置802.1x认证,实现终端用于只有认证成功…

一句话生成 3D 人脸资产|ChatAvatar 角色生成 AI 登陆 Cocos

近几个月以来,AIGC 一路高歌猛进,让我们见证了一场行业革命。 然而 AIGC 在 3D 资产领域却仍是业内的难题,少有突破。 小编今天给大家推荐一个 3D 角色 AIGC 利器 ChatAvatar。它可以算是 3D AIGC 领域的一匹黑马,走在了领域的前沿…

Unity中Shader URP最简Shader框架(整理总结篇)

文章目录 前言一、精简 ShaderGraph 所有冗余代码后的最简 URP Shader二、我们来对比一下 URP Shader 与 BuildInRP Shader 的对应关系 与 区别1、"RenderPipeline""UniversalPipeline"2、面片剔除、深度测试、深度写入、颜色混合 和 BRP 下一致3、必须引入…

QWebEngineView 透明色 设置白屏闪烁的问题 已解决

在项目开发中。由于qt5.15 升级到qt6.5 不知道因为什么,QWebEngineView 加载出现白屏, 网上大神给的方案 五花八门,没有一个解决问题。 代码 旧代码QWebEngineView* pWebEngineView new QWebEngineView();//pWebEngineView->page()->…

linux :与静态库链接

文章目录 库的意义合在?提供通用的标准函数如果不使用静态库呢?将所有的标准 C 函数都放在一个单独的可重定位目标模块中 库的缺点为每个标准函数创建一个独立的可重定位文件可行吗? 静态库以存档(archive)的格式存放在磁盘中 参考 我们知道&…

复制List从一个类型转变为另外一个类型

使用场景: 我们从数据库中获取到一个dog类型的list,dog中有name,age属性,此时有一个cat类,也具有name和age属性,我们想把dog的数据转换为cat,那么可以这样使用: 依赖: …

AG16K MCU ARM Cortex M3

AGM AG16K MCU 器件是 FPGAMCU 的 SoC 单芯片产品。 FPGA 单元具有 16K LEs 的逻辑资源,MCU 为硬核 ARM Cortex M3。 MCU 特性  内核 ARM32 位的 Cortex M3 CPU 最高 200 Mhz 工作频率单周期乘法和硬件除法集成的嵌套式的中断控制器(NVIC&#xff09…

2024生化仪器与实验室装备创新发展论坛将于3月6日济南召开

2024生化仪器与实验室装备创新发展论坛 2024年3月6日 | 山东国际会展中心 一、会议介绍 近年来,制药及生物制药行业的高速成长,生化仪器与实验室装备作为科学研究的重要组成部分,同时也在不断的更新和升级。伴随生物制药、CRO等下游行业的…

冯丹教授:近数据处理新型盘框等技术创新,加速IDC向Diskless架构演进

日前,在中国深圳举办的第20届华为全球分析师大会,长江学者特聘教授、华中科技大学计算机科学与技术学院院长冯丹对数据中心Diskless架构及近数据处理发展趋势做出了权威解读,为传统云存储、大数据等计算域和存储域不完全分离造成的资源浪费&a…

(c语言)输出一个十进制整数的二进制序列

#include<stdio.h> int main() {int x;scanf("%d",&x);for (int i 31; i >0; i--)//从前向后输出{if (((x >> i) ^ 0) 0) //当移位后全都是0时&#xff0c;进入下一个循环{continue; //需要输出完整二进制数时该判断语句删去}if (…