- 博客(22)
- 资源 (5)
- 收藏
- 关注
原创 Rocketmq-console 重发消息失败: 208 DESC
208 DESC: query message by key finished, but no message
2023-04-27 10:37:05
5609
原创 H2 like 单测失败
在mysql环境下正常执行,但是在单测时使用的是h2,执行失败。在mapper.xml文件中存在以下代码。解决方案:将双引号改成单引号。
2022-12-09 11:10:54
314
原创 logstash自定义字段类型
说明 基于7.17版本 编写conf文件 rocketmq.json # The # character at the beginning of a line indicates a comment. Use # comments to describe your configuration. input { beats { port => "5044" #logstash监听端口 } } # The filter part
2022-02-17 15:01:09
2834
原创 filebeat-自定义timestamp
自定义timestamp 在filebeat采集日志时,会需要将日志中的具体时间用于@timestamp字段,供后续的时间查找等等,在7.16版本中可以使用timestamp processor:https://www.elastic.co/guide/en/beats/filebeat/current/processor-timestamp.html 来进行处理 "2022-01-26 06:43:31.632 | log message" 1.1.1.1 - - [27/Jan/2022:17:08
2022-01-27 17:34:33
2859
1
原创 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
1907
2
原创 RocketMQ-消费进度管理
Broadcasting模式 存放于${user.home}/.rocketmq_offsets/MQClientId/ConsumerGroup/offsets.json public class LocalFileOffsetStore public final static String LOCAL_OFFSET_STORE_DIR = System.getProperty( "rocketmq.client.localOffsetStoreDir", Syst
2021-08-12 10:39:08
507
原创 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
1033
原创 chkconfig开机启动
将脚本存放在/etc/rc.d/init.d目录下,例如supervisord chmod a+x supervisord 添加服务chkconfig --add supervisord 开机自启chkconfig supervisord on #!/bin/sh #chkconfig: 2345 80 90 #description:启动supervisord supervisord
2020-12-18 17:00:24
414
1
原创 git代码迁移
一般每家公司内部都会有git仓库,基于开源项目进行二次开发的情况下,就需要把代码从公司迁移到内网,那么要如何操作呢?其实很简单,心得github rocketmq 项目为例,现在希望把release-4.6.0分支代码从github迁移到内网git上 checkout github代码 git clone https://github.com/apache/rocketmq.git 压缩项目目录 将压缩包迁移到内网环境 解压压缩包,并进入相应的代码代码(例如release-4.6.0) git.
2020-11-11 14:09:56
250
原创 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
4764
原创 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
678
2
原创 RocketMQ-高可用+扩展性
名词约定 Region:物理区域,例如不同的机房 Broker-MS:broker最基本的高可用master-slave结构,包含1台master+1台slave Broker-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
905
原创 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
6910
原创 RocketMQ-消息有序实现方案
消息有序 全局有序 在整个MQ集群内,消息都是按照生产者的生产顺序存放,消费者也是按此顺序进行消费 优点:生产者不需要额外的处理,由MQ集群保证消息全局有序 缺点:牺牲了高可用、性能 为什么会牺牲高可用? 高可用MQ集群的常见部署 全局有序部署方案 为了保证MQ集群内消息有序,对于全局有序的topic,只会在一台broker机器上创建一个queue,而queue内的消息是保证有序...
2020-04-30 18:20:00
875
原创 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
2555
5
原创 RocketMQ-单条消息大小上限
单条消息大小上限 默认大小为4M producer端会做校验,同时broker的MessageStoreConfig配置了也是4M Producer配置 参数名 默认值 说明 maxMessageSize 4MB 客户端限制的消息大小,超过报错,同时服务端也会限制,所以需要跟服务端配合使用。 Broker配置 public class MessageStoreConfig ...
2020-04-26 13:45:58
16711
6
原创 如何捕获多线程异常
1.多线程常用方式 创建Thread 使用线程池 2.实现接口 Runnable,无返回值 Callable,可有返回值 3.异常捕获 线程运行过程中发生的异常,无法通过try catch方式,在外层进行捕获,例如 try { new Thread(new Runnable() { @Override p...
2020-04-24 16:04:34
2300
原创 RocketMQ-Client异常但无报错日志
怀疑Producer Or Consuemr异常,但系统没报错日志 client的日志目前rocketmq默认存放于 ${user.home}/logs/rocketmqlogs/rocketmq_client.log 可以查看该日志是否有异常日志打印 ...
2020-04-24 15:47:58
968
原创 RocketMQ-入门介绍
RocketMQ-入门介绍 技术架构 基本概念 消息模型(Message Model) RocketMQ主要由 Producer、Broker、Consumer 三部分组成,其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。Broker 在实际部署过程中对应一台服务器,每个 Broker 可以存储多个Topic的消息,每个Topic的消息也可以分片...
2020-04-22 19:14:56
361
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅