RocketMQ系统性学习-RocketMQ高级特性之消息大量堆积处理、部署架构和高可用机制

🌈🌈🌈🌈🌈🌈🌈🌈
【11来了】文章导读地址:点击查看文章导读!
🍁🍁🍁🍁🍁🍁🍁🍁

消息大量堆积如何处理?

消息出现大量堆积的原因是:生产者速度 >> 消费者速度

首先需要排除 代码层面 的问题,再去对 RocketMQ 的配置做处理!

那么对于消息堆积的处理,就分为两种情况:

  • 事发时处理:

    • 扩容消费者(在消费者数量 < MessageQueue 的情况下)

      这里 增加消费者的数量 是有依据的,比如一个 Topic 下有 8 个 MessageQueue,那么最多将消费者数量增加到 8 个,因为 Topic 下一个队列只可以被同一消费者组的一个消费者消费,如果消费者的数量比 Topic 下的队列数量多的话,会有部分消费者分不到队列,因此消费者数量最多和 Topic 下的队列数量相同

    • 设置消费者的并发线程数

      提高单个消费者的消费并发线程,RocketMQ 支持批量消费消息,可以通过修改 DefaultMQPushConsumer 类中的 consumeThreadMin、consumeThreadMax 来提高单个消费者的并发能力

    • 消费者批量拉取消息

    • 新建临时 Topic 并设置 MessageQueue 数量多一点,将当前堆积信息转发到新建 Topic 中,再使用大量消费者去消费新的 Topic

  • 提前设计预防:

    • 生产者:限流,评估 Topic 峰值流量合理设计 Topic 的队列数量,添加异常监控
    • 存储端:限流,将次要消息转移
    • 消费者:降级次要消息消费,将重要消息落库(数据库或ES),再异步处理,合理根据 Topic 队列的数量和应用性能来部署消费者机器数量
    • 上线前,采用灰度发布,先灰度小范围用户进行使用,没问题之后,再全量发布

部署架构和高可用机制

部署架构分为(这里的 Master ):

  • 单 Mastaer

    (图片来源于网络)

    在这里插入图片描述

    • 入门学习时常使用
  • 单 Msater 单 Slave:Master 宕机后集群不可写入消息,但是可以从 Slave 读取消息

    (图片来源于网络)

    在这里插入图片描述

    • 生产上不怎么使用,一般用作自己学习搭建主从使用
  • 多 Master ,无 Slave

    (图片来源于网络)

    在这里插入图片描述

    • 部署方式简单,生产常用
    • 单个 Master 宕机后,不影响整体集群的读写服务,但是宕机的在这台服务中未被消费的消息,在这台服务下次重启之前无法被消费
  • 多 Master,多 Slave,异步复制

    (图片来源于网络)

    在这里插入图片描述

    • Slave 作为备份节点,提供数据保障
    • 但是异步复制,可能丢失部分 Master 中的数据
  • 多 Msater,多 Slave,同步复制

    (图片来源于网络)

    在这里插入图片描述

    • 同步复制中,避免了丢失 Master 数据的风险
    • 但是同步复制限制了整个集群的吞吐量
  • Dledger 模式

    在这里插入图片描述

    • 提供了在主从模式中,Master 挂了之后,自动将 Slave 选举为 Master 的功能
    • 但是在 Dledger Group 中,至少需要 3 个 Broker 才可以完成选举

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

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

相关文章

恶意软件样本行为分析——Process Monitor和Wireshark

1.1 实验名称 恶意软件样本行为分析 1.2 实验目的 1) 熟悉 Process Monitor 的使用 2) 熟悉抓包工具 Wireshark 的使用 3) VMware 的熟悉和使用 4) 灰鸽子木马的行为分析 1.3 实验步骤及内容 第一阶段&#xff1a;熟悉 Process Monitor 的使用 利用 Process …

职场利器-软考高级、PMP、CKA/CKS/CKAD备考

1、【软考高级】信息系统项目管理师 全国计算机技术与软件专业技术资格(水平)考试网上报名平台http://bm.ruankao.org.cn/sign/welcome 模拟作答系统230747 第一次裸考 考试成绩查询 三科均未通过 软考考试多少分通过? ​​​​​​​ 软考高级&#xff0c;它的考试科目是《…

金蝶云星空执行部署包后业务对象会被标记上部署包的开发码

文章目录 金蝶云星空执行部署包后业务对象会被标记上部署包的开发码 金蝶云星空执行部署包后业务对象会被标记上部署包的开发码 会被标记成开发码的业务对象包括以下&#xff1a; 新增的业务对象&#xff0c;扩展的业务对象 --查询二开的元数据打包 FPACKAGEID不为空&#xff…

集合论:二元关系(1)

集合论这一章内容很多&#xff0c;重点是二元关系中关系矩阵&#xff0c;关系图和关系性质:自反、反自反、对称、反对称、传递以及关系闭包的运算&#xff0c;等价关系&#xff0c;偏序关系&#xff0c;哈斯图&#xff0c;真吓人&#xff01; 1.笛卡儿积 由两个元素x和y按照一…

Midjourney V6版本强势来袭,挑战像素极限!

最新的Midjourney V6模型带来了一系列强大的功能和改进&#xff0c;以下是一些关键特性的总结&#xff1a; AI提示词&#xff08;第33辑&#xff09;Midjourney V6版本强势来袭&#xff0c;挑战像素极限&#xff01;-喜好儿aigc 目前测试已发现&#xff1a; 提示词长度已增至…

安卓好用的python编辑器,安卓平台python编辑器

本篇文章给大家谈谈安卓上好用的python编辑软件有哪些&#xff0c;以及安卓上好用的python编辑软件推荐&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 1. 简介 Thonny是基于python内置图形库tkinter开发出来的支持多平台(windows,Mac,Linux)的python IDE&am…

简单了解一下当前火热的大数据 -- Kylin

神兽麒麟 一、Apache Kylin 是什么&#xff1f;二、Kylin架构结语 一、Apache Kylin 是什么&#xff1f; 由eBay公司中国团队研发&#xff0c;是一个免费开源的OLAP多维数据分析引擎优点 超快的响应速度&#xff0c;亚秒级支持超大数据集&#xff08;PB以上&#xff0c;千亿记…

OpenCV | 告别人工目检:深度学习技术引领工业品缺陷检测新时代

文章目录 机器视觉缺陷检测工业上常见缺陷检测方法内容简介作者简介目录读者对象如何阅读本书获取方式 机器视觉 机器视觉是使用各种工业相机&#xff0c;结合传感器跟电气信号实现替代传统人工&#xff0c;完成对象识别、计数、测量、缺陷检测、引导定位与抓取等任务。其中工…

算法题系列7·获得数组中多数元素

目录 题目描述 实现 提交结果 题目描述 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;…

ElasticSearch学习篇9_文本相似度计算方法现状以及基于改进的 Jaccard 算法代码实现

背景 XOP亿级别题库的试题召回以及搜题的举一反三业务场景都涉及使用文本相似搜索技术&#xff0c;学习此方面技术以便更好的服务于业务场景。 目前基于集合的Jaccard算法以及基于编辑距离的Levenshtein在计算文本相似度场景中有着各自的特点&#xff0c;为了优化具体的计算时…

大数据技术基本功-数据采集

产品指南&#xff5c;DataScale自定义采集器功能介绍产品指南&#xff5c;开发 DataScale Collector​​​​​​​