RocketMq生产常见问题及解决方案(三) 顺序消息和消息堆积的解决法方式

1.rocketmq中的顺序消息

1.1 rocketmq顺序消息的使用场景

顺序消息分为全局顺序消息和局部顺序消息,在增量同步日志的时候,需要保证消息全局有序,这个时候,我们需要全局顺序消息。而在订单业务常见的一个场景是,每个订单有下单->支付->发货这已操作,需要通过mq同步给第三方,我们在同步的时候需要保证每个单据内这三个操作是有序的就行,这就是局部有序消息。

1.2 rocketmq顺序消息的实思路

1.2.1 局部有序性

1.生产有序性

需要将同一类消息发送到同一个messagequeue中,通过队列的先进先出原则,保证消息的顺序性;并且生产者应该采用单线程的方式发送消息,多线程不能保证发送到messagequeue中的顺序。

2.消费有序性

利用MessageListenerOrderly进行消费,它是单线程进行消费的,并且在消费失败过后,会阻塞后面数据的消费。

1.2.2 全局有序性

其实在topic设置queue只有一个,这样就能保证在这个topic里面的消息都是有序的。

2.rocketmq消息堆积以及解决方式

2.1 常见原因

订阅关系不一致导致消息堆积,在rocketmq中,同一个消费者组,应该订阅的topic和tag信息应该是一模一样的,即消费者组在rocketmq中是作为一个基本单位存在的。

我么有一次发生的问题就是,有一个灰度和非灰度环境,在配置的时候,灰度环境和非灰度环境都属于一个消费者组,但是消费的topic不一样,导致消费者不能消费。

2.2 解决方式

1.检查订阅关系,消费者组应该保持一致;

2.加大消费者组的消费力度,比如采用并发消费的方式,利用线程池消费,增大消费速度。

3.增加topic读写队列的queue的数量,根据rocketmq的消费模型,一个queue的只能被一个消费者

组的一个消费者实例消费,所以增大queue的数量,也能增加消费速度。

4.如果消息已经堆积,可以在rocketmq上面新建一个topic,然后启动一个服务,消费数据并且将其写入到这个新建的topic上面,这样数据传输是很快的。

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

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

相关文章

【Redis】Redis事务详解

Redis的事务(transaction)允许在一个单独的操作序列中执行多个命令,并保证这些命令在其他客户端无法中断的情况下执行。Redis通过MULTI、EXEC、DISCARD和WATCH命令来实现事务管理。 Redis事务的基本命令 MULTI:开启一个事务块。…

【Android面试八股文】String s= new string(“xxx“); 创建了几个String对象?

String s= new string(“xxx”);创建了几个String对象? 这道题想考察什么 ? 这个问题旨在考察对于 Java 中字符串 String 的理解。 考察的知识点 Java基础,JM常量池与对象内存分配 考生应该如何回答 首先让我们来分析代码 String s = new String("xxx")。 …

DP:子序列模型

子数组vs子数列 1、子数组(n^2) 子序列(2^n) 2、子数组是子序列的一个子集 3、子数组必须连续,子序列可以不连续 一、最长递增子序列 . - 力扣(LeetCode) 算法原理: 1、状态表示&#xff…

数据管理积重难返?这有一个新药方丨直播预告

大数据产业创新服务媒体 ——聚焦数据 改变商业 在数智化转型的浪潮中,数据管理领域正面临着前所未有的挑战和机遇。企业在数据管理过程中,普遍遭遇数据孤岛、数据质量不佳、存储和处理成本高昂、数据安全与隐私保护压力以及多源异构数据整合困难等诸多…

【MMU】——MMU 页命中/缺页

文章目录 MMU 页命中/缺页MMU 命中MMU 缺页 MMU 页命中/缺页 MMU 命中 处理器产生一个虚拟地址。MMU生成 PTE 地址,并从高速缓存/主存请求得到它。高速缓存/主存向 MMU 返回 PTE。MMU 构造物理地址,并把它传送给高速缓存/主存。高速缓存/主存返回所请求…

GIT仓库发布提交

git config --global user.name "test" git config --global user.email "testqq.com" 创建 git 仓库:mkdir php_tuisong cd php_tuisong git init touch README.md git add README.md git commit -m "first commit" git remote add origin htt…

SpringBoot引入WebSocket依赖报ServerContainer no avaliable

1、WebSocketConfig 文件报错 Configuration EnableWebSocket public class WebSocketConfig {Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();}2、报错内容 Exception encountered during context initialization - canc…

SpringBoot+Vue校园管理系统(前后端分离)

技术栈 JavaSpringBootMavenMyBatisMySQLVueElement-UIShiro 系统角色 管理员用户院系管理员 系统功能截图

如何编辑 sudoers 文件

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 特权分离是 Linux 和类 Unix 操作系统中实施的基本安全范例之一。普通用户以有限权限操作,以减少其影响范围仅限于其自身环境,而不是更广泛的操作系统。 一个名…

《互联网政务应用安全管理规定》电子邮件安全如何整改?

继上篇文章(解读《互联网政务应用安全管理规定》网络和数据安全中的身份认证和审计合规)之后,本篇文章继续解读第五章“电子邮件安全”,为党政机关事业单位提供电子邮件系统整改思路。 “电子邮件安全”内容从第三十一条到第三十…

检验周转率

select 项目, sum(中位数时间差) as 中位数时间差, sum(百分之九十时间差) as 百分之九十时间差,sum(标本数) as 标本数 from ( select 项目, sum(中位数时间差) 中位数时间差,null 百分之九十时间差, null 标本数 from ( select distinct 项目,中位数,(sum(中位数时间差)/2) …

VirtualBox 虚拟机中的 centos7 系统拉取 docker 镜像常见报错及解决方法

一、拉取镜像时报错:Error response from daemon: Get "https://registry-1.docker.io/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority 原因:(文心一言给出的原因) 这个错误…

基于百度翻译API的火车头PHP翻译插件,可以翻译HTML片段

关于火车头的百度翻译插件,相信大家在火车头官网或网上都能找到相关代码,百度翻译插件是PHP写的,就一个PHP文件,简单灵活,不受火车头软件版本限制,任何有PHP插件权限的火车头版本都可以使用。但是百度API翻…

深度学习中的弱监督学习

深度学习中的弱监督学习 弱监督学习(Weakly Supervised Learning)是一种介于监督学习和无监督学习之间的机器学习方法。它在有限、部分或不完全标注的数据上进行训练,旨在利用这些不完美的标签信息来学习有效的模型。弱监督学习在深度学习中…

如何通过 4 种方式备份和恢复Android联系人

毫无疑问,联系人是Android手机上存储的最重要的信息之一。为了保护这些重要数据,明智的做法是对Android手机进行联系人备份。如果您的手机发生任何情况导致数据丢失,例如被盗、系统崩溃或物理损坏,您可以再次将备份中的联系人恢复…

c# 下 ScintillaNET 显示XML信息并折叠节点

winform下显示XML信息(非WPF) 之前使用的是FastColoredTextBox,github地址如下: https://github.com/PavelTorgashov/FastColoredTextBox 但是有个问题,它支持中文,wordwraptrue,自动换行时&…

springboot aop学习

依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-…

Spring-Cloud-Gateway-实现XSS、SQL注入拦截

XSS和SQL注入是Web应用中常见计算机安全漏洞&#xff0c;文章主要分享通过Spring Cloud Gateway 全局过滤器对XSS和SQL注入进行安全防范。 写这篇文章也是因为项目在经过安全组进行安全巡检时发现项目存储该漏洞后进行系统整改&#xff0c;本文的运行结果是经过安全组验证通过。…

玩物科技:引领物联网时代的创新先锋

在深圳这座充满活力和创新精神的城市&#xff0c;有一家年轻而充满潜力的公司正在悄然改变我们的日常生活。深圳市玩物科技有限公司自2017年成立以来&#xff0c;凭借其卓越的技术和创新理念&#xff0c;逐渐成为物联网时代的先锋力量。 玩物科技的愿景与使命 玩物科技的核心…

【vue3响应式原理】

# 源码结构 源码位置是在packages文件件内&#xff0c;实际上源码主要分为两部分&#xff0c;编译器和运行时环境 1. 编译器 compiler-core 核心编译逻辑compiler-dom 针对浏览器平台编译逻辑compiler-sfc 针对单文件组件编译逻辑compiler-ssr 针对服务端渲染编译逻辑 2. 运行时…