摘要: 大家好,我是yes。 我们都知道 RocketMQ 和 Kafka 消息都是存在磁盘中的,那为什么消息存磁盘读写还可以这么快?有没有做了什么优化?都是存磁盘它们两者的实现之间有什么区别么?各自有什么优缺点? 今天我们就来一探究竟。 先说下快的主要原因就是顺序读写、mmap、sendfile。我们先来 阅读全文
posted @ 2020-07-26 10:58 yes的练级攻略 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 前言 大家好,我是 yes。 这是Kafka源码分析第四篇文章,今天来说说 Kafka控制器,即 Kafka Controller。 源码类的文章在手机上看其实效果很差,这篇文章我分为两部分,第一部分就是直接图文来说清整个 Kafka 控制器事件处理全流程,然后再通过Controller选举流程进行 阅读全文
posted @ 2020-07-22 21:02 yes的练级攻略 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 大家好,我是 yes。 最近我一直扎在消息队列实现细节之中无法自拔,已经写了 3 篇Kafka源码分析,还剩很多没肝完。之前还存着RocketMQ源码分析还没整理。今儿暂时先跳出来盘一盘大方向上的消息队列有哪些核心注意点。 核心点有很多,为了更贴合实际场景,我从常见的面试问题入手: 如何保证消息不丢 阅读全文
posted @ 2020-07-15 22:43 yes的练级攻略 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 大家好,我是 yes。 今天来说说限流的相关内容,包括常见的限流算法、单机限流场景、分布式限流场景以及一些常见限流组件。 当然在介绍限流算法和具体场景之前我们先得明确什么是限流,为什么要限流?。 任何技术都要搞清它的来源,技术的产生来自痛点,明确痛点我们才能抓住关键对症下药。 限流是什么? 首先来解 阅读全文
posted @ 2020-07-12 15:48 yes的练级攻略 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 大家好,我是 yes。 这是我的第三篇Kafka源码分析文章,前两篇讲了日志段的读写和二分算法在kafka索引上的应用 今天来讲讲 Kafka Broker端处理请求的全流程,剖析下底层的网络通信是如何实现的、Reactor在kafka上的应用。 再说说社区为何在2.3版本将请求类型划分成两大类,又 阅读全文
posted @ 2020-07-08 20:44 yes的练级攻略 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 前言 其实这篇文章只是从Kafka索引入手,来讲述算法在工程上基于场景的灵活运用。单单是因为看源码的时候有感而写之。 索引的重要性 索引对于我们来说并不陌生,每一本书籍的目录就是索引在现实生活中的应用。通过寥寥几页纸就得以让我等快速查找需要的内容。冗余了几页纸,缩短了查阅的时间。空间和时间上的互换, 阅读全文
posted @ 2020-07-02 22:27 yes的练级攻略 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 引子 之所以写这篇文章是因为之前面试时候被面试官问到(倒)了,面试官说:“你说你对Kafka比较熟?看过源码? 那说说kafka日志段如何读写的吧?” 我心里默默的说了句 “擦...我说看过一点点源码,不是亿点点。早知道不提这句了!”,那怎么办呢,只能回家等通知了啊。 但是为了以后找回场子,咱也不能 阅读全文
posted @ 2020-06-30 20:46 yes的练级攻略 阅读(554) 评论(0) 推荐(0) 编辑