首页 > 其他分享 >2023-07-12:RocketMQ如何做到消息不丢失?

2023-07-12:RocketMQ如何做到消息不丢失?

时间:2023-07-12 21:56:21浏览次数:38  
标签:12 07 写入 丢失 消息 2023 磁盘 RocketMQ 刷盘

2023-07-12:RocketMQ如何做到消息不丢失?

答案2023-07-12:

RocketMQ通过刷盘机制、消息拉取机制和ACK机制等多种方式来确保消息投递的可靠性,防止消息丢失。

1.刷盘机制

RocketMQ中的消息分为内存消息和磁盘消息,内存消息在Broker内存中进行读写,磁盘消息则保存在磁盘上。RocketMQ支持同步刷盘和异步刷盘两种方式,通过刷盘机制可以确保消息在Broker宕机时不会丢失。在同步刷盘模式下,消息写入磁盘时,会等待磁盘的写入完成才返回写入成功的响应。在异步刷盘模式下,消息写入磁盘后立即返回写入成功的响应,但不等待磁盘写入完成。

2.ACK 机制

在 RocketMQ 中,Producer 发送消息后,Broker 会返回 ACK 确认信号,表示消息已成功发送。如果 Broker 未收到 ACK 确认信号,则会尝试重新发送消息,直到收到确认。

RocketMQ 采用主从复制机制,每个消息队列都有一个主节点和多个从节点。主节点负责消息的写入和读取,从节点负责备份数据。当主节点宕机时,从节点会自动接管主节点的工作,确保消息不会丢失。

3.消息存储机制

RocketMQ默认采用双写模式存储消息,即将消息同时写入内存和磁盘,然后异步将内存中的消息刷盘到磁盘中。这种方式确保了消息的可靠性,即使系统宕机,也尽可能地避免消息丢失。

此外,RocketMQ还提供了多种机制来保证消息不丢失,例如事务消息、延迟消息、顺序消息等,可以根据业务需求选择和使用。

值得注意的是,为了保证消息的可靠性,RocketMQ发送消息的速度可能受到一定的限制,需要在消息可靠性和性能之间做出权衡。

在这里插入图片描述

标签:12,07,写入,丢失,消息,2023,磁盘,RocketMQ,刷盘
From: https://www.cnblogs.com/moonfdd/p/17548962.html

相关文章

  • 《摆与混》第十章--7月12日--周三
    周三,还是周三,平淡的周三;1.今天做了什么:今天8点半起床再次成功。洗漱后简单吃了个早饭(面包好贵呀!),上午有些分神(找到了一部好看的番),下午摆烂时间,5点出发健身锻炼,饭后进行了日常PTA!!!弟弟不在家有点爽2.解决了什么问题:Java课程推进,感觉小无敌。3.明天干什么:预计继续学习Java,PTA同步跟......
  • 7.12
    今天早上依旧和往常一样醒的比较晚就没吃早饭,起来简单的洗漱就去练车了,回来吃了点饭,中午吃完饭后发现有点困,就简单的睡了个午觉,就去练车了,我真的吐了,热的要死啊,练车练完之后就不早了,就回家做了个饭,又吃饭,等吃完之后就不早了,在家里待了会儿,去外面跑了跑步,回来学习了一会java,写了一......
  • AtCoder Grand Contest 012 D Colorful Balls
    洛谷传送门AtCoder传送门不错的题。bxEnder32k。我们发现交换有传递性,那么我们能交换就连边,答案是\(\prod\frac{(sz)!}{\prodc_i!}\),其中\(sz\)为连通块大小,\(c_i\)为这个连通块中第\(i\)种颜色出现次数。于是我们得到了一个\(O(n^2)\)的做法。发现很多遍是无用的......
  • 112.说一说strcpy、sprintf与memcpy这三个函数的不同之处
    112.说一说strcpy、sprintf与memcpy这三个函数的不同之处1.复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。2.复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3......
  • 7.12日
    最近一直过的好郁闷,说不出什么感觉,也道不明为什么郁闷!人活着很烦,工作,生活方方面面……总觉得自己好没用,可能是因为从小就没受到过什么挫折,先在长大了,(哦更准确的说自己在慢慢老去)感觉自己好脆弱,轻轻一碰就要碎了似的!每天漫无目的的活着,不想长大………今天起得很早,因为半夜停电......
  • P1216 [USACO1.5] [IOI1994]数字三角形
    自己的思想:要用逆序,但是某个未知的位置可能存在一个非常大的数,因此不知道如何dp看题解之后:对于倒数第二行的数,可以算出它们的最优解,依次往上推,第一个数就是整体的最优解,其实本质上可以用隔离意识来看,在搞最后一排时,将前面所有排隔离掉,在处理中间的每一排时,又将其他排隔离掉接下......
  • 7/12 闲话
    接头霸王众所周知,斐波那契数列的通项公式为:\[f_n=\frac{1}{\sqrt5}\left[\left(\frac{1+\sqrt5}{2}\right)^n-\left(\frac{1-\sqrt5}{2}\right)^n\right]\]但各位先放下手中的OGF,通过线代也可以推出来这个结果先来几个概念(在这里假设您知道线代基础知识):线性算子即......
  • 20230712练习总结
    AGC009DUninity如果构造一棵点分树,答案是\(\logn\),这是答案上界。将问题转化为每次将若干棵Uninity为\(k\)的树连接到一个点上时将点打上\(k+1\)的\(tag\)。看题面有一个很显然的结论就是两个\(tag=k\)的点间的路径上一定有一个\(tag>k\)。考虑记录\(f_u\)表示......
  • 【文章】Markdown(2023-07-12更新)
    Markdown博客食用效果更佳欢迎大家指出错误并联系这个蒟蒻你是第个看到这篇文章的人。更新日志2023-07-1220:02文章完成前言本蒟蒻最近看了\(\operatorname{QOJ}\)中的FAQ,然后发现了一件很神奇的事:\(\operatorname{FAQ}\)中博客部分写了个什么玩意?所以来补充一下。......
  • NOIP 2023 模拟赛 20230712 C 论剑
    首先是伟大的题面然后是数据范围先解决1-4号数据点1.枚举每个gcd的值p,统计一次答案,得到最小值(期望得分20)\[ans=\min_{p=2}^{\maxa}\sum^n_{i=1}\min(a_i\bmodp,p-(a_i\bmodp)(a>p))\]2.我们可以发现p仅在为质数时不会重复,也可以将p换为质数(期望得分40)两种的时间复......