RocketMQ消息高可靠详解

news/2024/11/29 13:40:16/

文章目录

  • 消息同步策略
  • 殊途同归
  • 同步基于offset而不是消息本身
  • 刷盘策略

RocketMQ broker服务端以组为单位提供服务的,拥有着一样的brokerName则认为是一个组。其中brokerId=0的就是master,大于0的则为slave。

消息同步策略

master和slave都可以提供读服务,但是只有master允许做写入操作,slave仅从master同步数据并不断上报自己的同步进度(slave自己的物理max offset)。

在Broker配置中,如果是有三个可选的brokerRole:ASYNC_MASTER、SYNC_MASTER、SLAVE。也就是说Master其实是分两种,决定其不同消息同步方式。

ASYNC_MASTER是异步复制的方式,生产者写入消息到Master后无需等待消息复制到slave即可返回,消息的复制由旁路线程进行异步复制。

SYNC_MASTER是同步复制的方式,表现出来的是类似同步双写的策略。即Master写入完消息之后,需要等待Slave的复制成功。注,这里只需要有一个Slave复制成功并成功应答即算成功,所以在这种模式下,如果有3个Slave,当生产者获得SEND_OK的应答时,代表消息已经达到Maser和一个Slave(注:这里并不代表已经持久化到磁盘,而只能证明肯定到了Pa


http://www.ppmy.cn/news/38472.html

相关文章

Java接口

目录 抽象类 抽象类的概述 如何使用抽象类 抽象类的使用 抽象特征 关于抽象需要注意的几个事情 接口(interface) 常量 如何实现接口 接口与接口多继承 接口的注意事项 抽象类 抽象类的概述 父类中的方法,被它的子类们重写,子类各自的实现都不…

异构计算给我们带来了哪些思考?

虽然异构计算的快速发展给企业创新带来了更加强大的算力支撑,但真正推动异构计算的高速发展和应用落地,笔者认为还需要在以下三个方面做好功课。 从2022年火爆全球的元宇宙,到今年的ChatGPT,以人工智能为代表的科学技术正在创造出…

【图论刷题-6】力扣 797. 所有可能的路径

图论刷题 机器人的运动范围矩阵中的路径图像渲染水位上升的泳池中游泳寻找图中是否存在路径所有可能的路径 797. 所有可能的路径 力扣地址:https://leetcode.cn/problems/all-paths-from-source-to-target/ 这是一道比较典型的深度优先遍历、广度优先遍历案例&…

关于Intellij idea 报错:Error : java 不支持发行版本5的问题

在Intellij idea中新建了一个Maven项目,运行时报错如下:Error : java 不支持发行版本5 本地运行用的是JDK9,测试Java的Stream操作,报错应该是项目编译配置使用的Java版本不对,需要检查一下项目及环境使用的Java编译版本…

企业密码管理解决方案

如今,企业用户被创建、管理和更新无数用户名和密码的永无止境的任务所困扰,导致忘记密码、帮助台票证过载以及创建易受攻击的密码。ADSelfService Plus 通过自助密码管理、高级密码策略、密码同步和密码过期通知使您的 IT 管理员和最终用户受益。 密码管…

kingdee 物料中有个特别好的概念,整理一下,拓展开发者的思维

无论是MES、还是ERP等生产方便的应用系统,生产的连续性、计划性都是理想状态的。实际生产很难很难达到的。就跟 【0库存概念一样】是我们追求的动力。 但MES、ERP 确实改善了企业的管理模式、改善管理已有的难点、痛点等顽疾问题。 提前期是指完成某项任务所需的…

OLAP引擎—ClickHouse21.7快速入门

OLAP引擎—ClickHouse21.7入门 一、ck概述 1.1 clickhouse简介 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management …

在Vue3中使用NavieUI组件库,美化页面

1 创建Vue3项目 vue create xx 选择Vue3模式 2 安装NavieUI npm i -D naive-ui 3 使用NavieUI 注意&#xff0c;好像只支持按需引用 样例&#xff1a; <template><div class"hello"><h1>{{ msg }}</h1> <!-- 使用--><NButton&…