- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 从rabbitmq订阅流程看消费者丢失问题
2.触发断网恢复,A重启后,从日志看到A上的问题队列都提升成了主,并且重新在B上添加了镜像副本,因此这些队列可能再也无法从本节点内存中查到消费者信息。很可能是镜像队列主从切换时没有成功把B上的副本清除,正常来说队列down或eol时是会通知消费者cancel,并更新ets表的,这样消费者就能重新在新的主节点上创建。4.rabbit_classic_queue:consume %% classic经典类型队列的消费接口实现,调用队列进程的basic_consume。获取消费者,依次投递,后面不是重点不赘述。
2024-06-04 19:01:57
872
1
原创 rabbitmq global hang问题
rabbitmq从3.13版本开始实验性地引入了Khepri,抛弃Mnesia,他们认为这能显著提高分区容错性,后续也将移除pause_monority/autoheal这些自动分区处理策略。具体效果如何有待观察,生产环境不建议立马使用。这样看来即使是升级到最新版本也不一定彻底解决,这里我建议检测特征日志来自动修复。在官方论坛询问后,有人建议先升级到3.13,使用Khepri代替Mnesia。从描述来看,即便引入新版本也没有令人满意的解决方案。集群模式:pause_monority。
2024-05-17 09:53:02
308
原创 基于open interpreter和chatgpt 直接执行自然语言指令
通过上述方式可以让llm在本机运行代码,利用网络等硬件资源做更多的实际工作,而不仅仅是给出代码或者建议。目前使用效果一般,可以自行尝试,记得执行前检查下代码避免风险。
2024-04-28 17:19:36
641
原创 rabbitmq可靠消息投递:mandatory与publisher confirm
这里指的是确保客户端投递的消息到达rabbitmq服务器的队列,不因网络链路等问题丢失。在消息十分重要的场景下通常有此需求。
2024-04-24 17:19:02
444
2
原创 消失的消息--rabbitmq事务机制
最近碰到一个比较奇怪的问题,某个rabbitmq exchange通过trace日志可以看到消息已经投进来,但是无论是admin页面还是针对queue的trace都看不到,并且更离谱的是部分消息是正常的。。在确认消息荷载没什么异常后,通过抓包对比发现,能投进exchange的消息都在publish后进行了tx.commit,而另一部分没有。显而易见,该channel实际上开启了事务机制。
2023-12-20 16:23:06
422
原创 rabbitmq集群故障: Application rabbit exited with reason: {{incompatible_feature_flags
rabbitmq启动时会从其他在线节点同步feature_flag,例如drop_unroutable_metric和empty_basic_get_metric在启动后、同步前本地会先enable。以AB为例,A本地已经enable,尝试从B同步,此时B刚刚启动处于disable状态,因此会出现incompatible_feature_flags报错,两边不一致,最终A启动失败。三节机器,存在一台机器处于stop_app状态,没有正常启动rabbit应用,最终日志包含。
2023-12-14 17:12:05
1194
1
原创 rabbitmq服务器及c客户端TLS支持
3.生成服务器证书及私钥,关键输出:server.cer server.key。2.生成客户端证书及私钥,关键输出:client.cer client.key。1.生成CA证书及私钥,关键输出:ca.cer ca.key。使用下面链接的c库编译测试工具。
2023-11-28 14:46:12
690
原创 rabbitmq三节点下集群恢复模式及分区问题
rabbitmq的几种自动恢复机制目前看来都非常粗糙,依旧需要通过其他工具脚本辅助进行恢复,但是分区带来的问题却是致命的,各种数据不一致问题已经是特色,希望后续版本能有大的改进,如果有其他想法欢迎留言。
2023-11-24 14:48:36
1167
1
原创 rabbitmq集群在脑裂恢复后出现消息无法投入的问题
三节点集群(版本3.9.7),有一台拔网线恢复后,绑定的q出现问题,有个queue消息投不进去,管理界面查看队列状态,发现存在一个rk对应三个队列的多重绑定用法,三个队列只有一个投不进去。3.分析rmq服务器逻辑,topic类型的route和direct、fanout不同,它需要先进行正则匹配,并最终通过mnesia:select进行查找。注:topic类型的ex,队列属性是autodelete,但是公司内部使用的客户端库实现了自动重连,也就是说断网后会重新创建出队列。排查流程(涉及公司机密不放相关图片)
2022-12-08 17:05:41
255
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人