消息中间件RocketMQ原理解析 - 斩秋判断是否是正常恢复,系统启动的启动存储服务(DefaultMessageStore)的时候会创 建一个临时文件 abort, 当系统正常关闭的时候会把这个文件删掉 ,这个类似在 linux 下打开 vi 编辑器生成那个临时文件, 所有当这个 abort 文件存在,系统认为是异常恢 复 1) 先按照正常流程恢复 Consume Queue 为什么说先正常恢复, 那么异常恢复在哪呢? 当 broker 3 4 协议分4部分,含义分别如下 1、大端4个字节整数,等于2、3、4长度总和 2、大端4个字节整数,等于3的长度 3、使用json序列化数据 4、应用自定义二进制序列化数据 Header 部分数据是通过 FastJson 序列化数据 请求自定义字段都会实现 CommandCustomHeader 接口, 在 RemotingCommand0 码力 | 57 页 | 2.39 MB | 1 年前3
Apache RocketMQ 从入门到实战RocketMQ 进程自动退出排查 经验分享 一、背景 公司一个 RocketMQ 集群由 4 主 4 从组成,突然其中 3 台服务器“竟然”在同一时 间下线,其监控显示如下: 三台机器的图形,时间戳几乎完美“吻合”。 二、故障分析 出现问题,先二话不说,马上重启各服务器,尽快恢复集群,降低对业务的影响,接下 来开始对日志进行分析。 Java 进程自动退出(rocketmq 本身就是一个 是否生成 dump 文件,那退而求其次去查看其 GC 日志, 将 GC 日志下载到本地,然后可以使用一个在线 gc 日志分析工具:https://gceasy.io/ , 将 gc 日志上传后会给出图形化的展示,其图如下: 发现垃圾回收很正常。 既然 Java 进程不是由于内存溢出等问题导致的退出,那又会是什么原因呢?那我们 来看一下那个点的 broker 的日志,其关键日志截图如下: 本0 码力 | 165 页 | 12.53 MB | 1 年前3
RocketMQ v3.2.4 开发指南数据结构 11.3.1 针对 Producer 字段名 默认 值 说明 Topic null 必填,线下环境不需要申请,线上环境需要申请后才能使用 Body null 必填,二进制形式,序列化由应用决定,Producer 与 Consumer 要协商好序列 化形式。 Tags null 选填,类似于 Gmail 为每封邮件设置的标签,方便服务器过滤使用。目前只支 持每个消息设置一个0 码力 | 52 页 | 1.61 MB | 1 年前3
共 3 条
- 1













