RocketMQ
coder-zzzz
这个作者很懒,什么都没留下…
展开
-
Rocketmq-console 重发消息失败: 208 DESC
208 DESC: query message by key finished, but no message原创 2023-04-27 10:37:05 · 2819 阅读 · 0 评论 -
RocketMQ-控制台Broker 5min Trend图
Broker 5min Trend[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7AMi2jX7-1643271152019)(E:\我的坚果云\md\mq\image-20220127155648371.png)]这个图中的趋势,是根据broker中统计的getTotalTps进行计算得来,brokerTps = [(10s avg tps of broker) + (1min avg tps of broker) + (10min avg tps of broker)原创 2022-01-27 16:12:52 · 1367 阅读 · 2 评论 -
RocketMQ-消费进度管理
Broadcasting模式存放于${user.home}/.rocketmq_offsets/MQClientId/ConsumerGroup/offsets.jsonpublic class LocalFileOffsetStore public final static String LOCAL_OFFSET_STORE_DIR = System.getProperty( "rocketmq.client.localOffsetStoreDir", Syst原创 2021-08-12 10:39:08 · 329 阅读 · 0 评论 -
RocketMQ-store目录结构分析
storePathRootDir=/cache1/rocketmq/broker/data├── abort├── checkpoint├── commitlog│ └── 00000000037580963840├── config│ ├── consumerFilter.json│ ├── consumerFilter.json.bak│ ├── consumerOffset.json│ ├── consumerOffset.json.bak│ ├── del原创 2021-08-12 10:34:29 · 818 阅读 · 0 评论 -
RocketMQ-Retry
Retry队列是什么当消息消费失败时,消费者会将消息发往retry队列,等待重试Retry队列的命名方式为:%RETRY%GROUP_NAME,也就是说每个消费组都会有自己独立的Retry队列生产逻辑RequestCode:CONSUMER_SEND_MSG_BACK脉络图如下:Client端Concurrently模式在以下几种情况下会向Retry队列发送该条消息当消息消费失败返回RECONSUME_LATER,并且是Clustering模式时清理本地超时消息(已拉取缓存在原创 2020-07-16 09:29:33 · 4214 阅读 · 0 评论 -
RocketMQ-HA安全问题
broker的master-slave机制能够被利用,只要知道了master的ip和port,就可以伪装成slave向master发起消息同步BrokerStartup#createBrokerController messageStoreConfig.setHaListenPort(nettyServerConfig.getListenPort() + 1);上面的listenPort就是在broker文件中配置的,默认的ha通信端口,就是listenPort+1亲测可以直接创建soc.原创 2020-06-17 15:03:17 · 508 阅读 · 2 评论 -
RocketMQ-高可用+扩展性
名词约定Region:物理区域,例如不同的机房Broker-MS:broker最基本的高可用master-slave结构,包含1台master+1台slaveBroker-Cluster:由多个Broker-MS组成的集群 Region-A Broker-Cluster-A Broker-Cluster-B Broker-MS-B1 Broker-MS-B2 Broker-MS-A1 Broker-MS-A2syncsyncsyncsyncbroker-masterbroker-slavebro原创 2020-05-27 19:03:15 · 740 阅读 · 0 评论 -
RocketMQ-Topic命名规则
不能为空只能包含%数字大小写字母及下划线和中划线长度不能超过255个字符(在broker中限制却是127),以broker为主在4.6.1版本中已经统一为127不能与默认用于判断是否可自动创建topic(TBW102)重名public class Validators { public static void checkTopic(String topic) t...原创 2020-05-08 14:22:29 · 6139 阅读 · 0 评论 -
RocketMQ-消息有序实现方案
消息有序全局有序在整个MQ集群内,消息都是按照生产者的生产顺序存放,消费者也是按此顺序进行消费优点:生产者不需要额外的处理,由MQ集群保证消息全局有序缺点:牺牲了高可用、性能为什么会牺牲高可用?高可用MQ集群的常见部署全局有序部署方案为了保证MQ集群内消息有序,对于全局有序的topic,只会在一台broker机器上创建一个queue,而queue内的消息是保证有序...原创 2020-04-30 18:20:00 · 734 阅读 · 0 评论 -
RocketMQ-广播模式注意事项
消费进度存放存放于conmser实例所在机器的${user.home}/.rocketmq_offsets/MQClientId/ConsumerGroup/offsets.json文件中public class LocalFileOffsetStore { public final static String LOCAL_OFFSET_STORE_DIR = System.getPr...原创 2020-04-27 19:38:26 · 2390 阅读 · 5 评论 -
RocketMQ-单条消息大小上限
单条消息大小上限默认大小为4Mproducer端会做校验,同时broker的MessageStoreConfig配置了也是4MProducer配置参数名默认值说明maxMessageSize4MB客户端限制的消息大小,超过报错,同时服务端也会限制,所以需要跟服务端配合使用。Broker配置public class MessageStoreConfig ...原创 2020-04-26 13:45:58 · 15194 阅读 · 6 评论 -
RocketMQ-Client异常但无报错日志
怀疑Producer Or Consuemr异常,但系统没报错日志client的日志目前rocketmq默认存放于${user.home}/logs/rocketmqlogs/rocketmq_client.log可以查看该日志是否有异常日志打印...原创 2020-04-24 15:47:58 · 717 阅读 · 0 评论 -
RocketMQ-入门介绍
RocketMQ-入门介绍技术架构基本概念消息模型(Message Model)RocketMQ主要由 Producer、Broker、Consumer 三部分组成,其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。Broker 在实际部署过程中对应一台服务器,每个 Broker 可以存储多个Topic的消息,每个Topic的消息也可以分片...原创 2020-04-22 19:14:56 · 229 阅读 · 0 评论