摘要: > 但能够把代码写得更具可维护性,这是一个程序员从业余迈向职业的第一步。 坏味道之Setter public void approve(final long bookId) { book.setReviewStatus(ReviewStatus.APPROVED); } 这个审核的状态是作品的一个内 阅读全文
posted @ 2022-09-19 20:29 Other+ 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 一个商业化消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术水平和最关键指标之一。 开头问题 kafka文件结构和rocketMQ文件结构是什么样子?特点是什么? 一、目录结构 Kafka Kafka以partition为单元分片存储消息 Kafka部分名词解释如下: Broker:消 阅读全文
posted @ 2021-09-26 13:27 Other+ 阅读(996) 评论(0) 推荐(1) 编辑
摘要: 前言 面试官:你了解RocketMQ是如何存储消息的吗?我:额,,,你等下,我看下这篇文字, (逃 由于这部分内容优点多,所以请哥哥姐姐们自备茶水,欢迎留言! 问题: 1. RocketMQ存储的文件是什么样子 2. RocketMQ为什么存储的性能高? 3. 事务的prepareMsg、rollb 阅读全文
posted @ 2019-11-30 16:57 Other+ 阅读(884) 评论(0) 推荐(0) 编辑
摘要: 介绍 > 基于4.5.2版本的源码 1. RocketMQ是从4.3.0版本开始支持事务消息的。 2. RocketMQ的消息队列能够保证生产端,执行数据和发送MQ消息事务一致性,而消费端的事务一致则有消费重试来补偿实现 3. 基于2PC思想来实现,增加一个补偿逻辑来处理二阶段超时或者失败的消息 名 阅读全文
posted @ 2019-11-25 13:04 Other+ 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 本文较长,代码后面给了方法简图,希望给你帮助 发送的方式 同步发送 异步发送 同步发送 异步发送 消息的类型 普通消息 顺序消息 事务消息 普通消息 顺序消息 事务消息 发送同步消息的时序图 为了防止读者朋友嫌烦,可以看下时序图,后面我也会给出方法的简图 源码示例【发送同步消息】 调用Default 阅读全文
posted @ 2019-11-12 10:46 Other+ 阅读(880) 评论(0) 推荐(0) 编辑
摘要: 介绍 构建Springboot项目时我们会创建一个启动类 1. 在之前使用Spring框架时,我们一般会创建web.xml和spring-context.xml等文件配置组件扫描、调度器、视图解析器等。 2. 而在SpringBoot中则简单了很多,这里就有自动配置发挥作用。如默认用的内嵌式容器是 阅读全文
posted @ 2019-10-26 14:59 Other+ 阅读(2685) 评论(0) 推荐(0) 编辑
摘要: 包含元素 1. 需求背景 2. 需求价值及目标 3. 需求详情 上面两个是为了防止更多的伪需求的出现 需求详情 尽可能多有文档说明,接口说明,注意说明,问题反馈 阅读全文
posted @ 2019-10-24 16:25 Other+ 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 为什么读RocketMQ 消息队列在互联网应用中使用较为广泛,学习她可以让我门更加了解使用技术的工作原理 透过学习她的源码,拓宽认知 RocketMQ经历了阿里双十一 有哪些名词 Producer 消息生产者,负责产生消息 Consumer 消息消费者,负责消费消息 Producer Group 一 阅读全文
posted @ 2019-10-20 17:23 Other+ 阅读(426) 评论(0) 推荐(0) 编辑
摘要: http://nullpointer.pw/IDEA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%89%88%E6%9C%AC%E5%9B%9E%E6%BB%9A.html 阅读全文
posted @ 2019-09-03 15:52 Other+ 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 一、要点 1. 如何减少哈希碰撞 1. 将哈希桶长度设置为2的倍数,这样在计算下标时(n-1)& hash 的(n-1)二进制最后一位也会参与运算, 2. 当Map中元素增加时,势必会造成碰撞的增加,这时候通过扩容来,来减少碰撞 2. 何时初始化HashMap 在put值时,初始化hashMap 3 阅读全文
posted @ 2019-08-30 18:23 Other+ 阅读(273) 评论(0) 推荐(0) 编辑