摘要: 关于producer到comsuner全流程,可以参考文章:【打怪升级】【rocketMq】如何保证消息顺序消费 在rocket4.X版本中,其实所有的生产者都是client,对应的其实就是MQProducer具体的实现,主要分为DefaultMQProducer和TransactionMQProd 阅读全文
posted @ 2023-03-22 22:26 青柠_fisher 阅读(96) 评论(0) 推荐(0) 编辑
摘要: rocket持久化保证的思想有两点:1是刷盘保证大部分数据不丢失;2是持久化文件的处理,零拷贝技术和内存页,NIO模型保证处理能力 文件持久化目录 ├──abort:rocket broker启动检查的文件,正常启动会写入一个abort,正常退出会删除abort,通过它来判断上一次是否异常退出 ├─ 阅读全文
posted @ 2023-03-13 22:04 青柠_fisher 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 遇到消息积压,如何处理? 什么是消息积压 消费积压是一个很直接的概念,看图: 当某一批对应的消息,生产者生产的速度大于消费者消费的速度时,就会发生消息积压。因为靠目前的消费者永远无法消费完生产的消息。 如何处理消息积压 由上图,可以看出要想让生产消费者保持一个能力的水平,有这么几点: 生产者消费过快 阅读全文
posted @ 2023-03-08 15:45 青柠_fisher 阅读(428) 评论(0) 推荐(0) 编辑
摘要: rocket针对有业务顺序的消息如何保证消息的顺序呢 RocketMq的消费模型 说到顺序,我们先观察rocket的消费模型: 首先,producer group创建消息,并指定tag、key、messageBody对消息体进行组装 private String topic; 消息主题 privat 阅读全文
posted @ 2023-03-08 15:45 青柠_fisher 阅读(246) 评论(0) 推荐(0) 编辑
摘要: rocket存在重复消费吗?rocket怎么帮我们避免重复消费? 如何算重复消费 rocket本身其实有一部分思想建立在 at-least-once 基础上,rocket保证了生产者发送的消息,根据持久化刷盘和其他机制保证消息不丢失,消息不丢失请参考 https://www.cnblogs.com/ 阅读全文
posted @ 2023-03-08 15:45 青柠_fisher 阅读(751) 评论(0) 推荐(1) 编辑
摘要: 上面一篇文章中介绍了RocketMq的基本架构以及组件的能力。那么在RocketMq中,如何做到消息零丢失呢? RocketMq哪些地方会丢失消息? 扒拉出上一节的MQ消息消费的流程模型如下: 分布式消息,数据丢失的最常见的地方是网络!由此得知: 1.生产者发送至mq时存在消息丢失。 2.消费者消费 阅读全文
posted @ 2023-03-08 15:44 青柠_fisher 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 【rocketMq】基础架构篇 RocketMq背景: RocketMq起源与阿里,前身是MetaQ,是阿里用于解决业务解耦和并发的组件之一,后期贡献给了Apache,现已是Apache的顶级开源项目之一。 RocketMq有开源版和商业版之分,我们在github上看到的源码都属于开源版,收费的版本 阅读全文
posted @ 2023-03-08 15:44 青柠_fisher 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 【内卷】:当一个行业出现内卷,意味着它肯定会向扭曲的方向发展! 内卷的本质,是社会进入存量竞争后,上层社会不断占据吸纳大量资源的同时,关闭上升通道以及资源的逆向流通,导致中产阶级与下层阶级,或者说广大无产阶级人员被迫争夺越来越少资源的现状描述。 分享给大家一句话:上学的第一天就在为高考做准备,谈恋爱 阅读全文
posted @ 2023-02-04 23:43 青柠_fisher 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 背景 不入流三本大学毕业,计算机科学专业,从实习到工作,做了编码四五年了。学历垃圾,技术也一般般,混迹在中小型企业是大部分人的通病。技术大牛都向往大厂,高薪,学历过硬想办法进外企,国编,研究所(钱多不多不知道但是事少舒服)。 国内的技术体系,更新换代还是蛮快的,一小版本一迭代,一大版本一优化,面试造 阅读全文
posted @ 2022-10-19 22:31 青柠_fisher 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 什么是volatile? 打开google,百度一下,你就知道~ java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁更加方便。如果一个字段被声明成volatile,java线程内存模 阅读全文
posted @ 2022-09-19 17:15 青柠_fisher 阅读(35) 评论(0) 推荐(0) 编辑