自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 Kafka - 从消息堆积谈谈应用服务的消费者模型

1. 如何设置partition和consumer的数量2. 项目中需要用到大量partition和consumer,容易导致高CPU,IO,如何优化3. 出现consumer在commit offset失败等导致应用不稳定的情况如何应对

2020-10-19 01:01:07 409

原创 Canal 丢失数据与解决方法

0 背景我在生产环境使用canal的时候,由于用的是嵌入式模式,所以经常需要发版重启。每次发版的时候,canal监控的数据库是有数据持续写入的,在这个过程中,下游的消费者时常提出数据存在丢失的情况,那么下面通过分析canal的源码寻找数据丢失的原因。1 Canal 消费流程源码分析略过一些启动过程,直接找到消费binlog的主流程代码,是AbstractEventParser类的start函数中,会启动一个子线程parseThread,在run函数中,有几个点需要注意:初始化上次消费的Positi

2020-07-06 01:48:49 8786 9

原创 Lucene源码分析 - CompressingStoredFieldsWriter 文档列写入

Lucene源码分析 - BKDWriter 存储kd树

2020-06-24 18:47:49 309

原创 Lucene源码分析 - MinShouldMatchSumScorer

本文的代码以lucene-core 6.3.0为准,包含MinShouldMatchSumScorer的iterator函数和执行原理。转载请注明出处。0 基本信息MinShouldMatchSumScorer类会遍历出所有scorers的迭代器中的docId,保证docId在所有迭代器中出现的次数至少是minShouldMatch次。lead变量是链表,存的是位置停留在docId的迭...

2019-03-19 00:20:05 509 2

原创 Lucene源码分析 - BlockTreeTermsWriter 存储词典(Term Dictionary)与索引(Term Index)

本文的代码以lucene-core 6.3.0为准,包含BlockTreeTermsWriter的bufferSkip函数,writeSkip函数等整个类所有代码的解析。转载请注明出处。0 基本信息   BlockTreeTermsWriter类将倒排索引存到磁盘,先了解下这个类的基本信息:1 源码分析   write函数将segment中的每个非IndexOptions....

2019-03-12 16:41:01 2478 1

原创 Lucene源码分析 - Lucene50PostingsFormat 倒排索引简介

本文的代码以lucene-core 6.3.0为准,倒排索引的基本信息和Lucene50PostingsFormat 等整个类所有代码的解析。转载请注明出处。  在lucene中,有相当多的时候需要存正整数的数组,当这个数组比较大的时候,就把它分一个个的block,每个block包含固定数量的整数,然后把每个block用PackedInts来压缩,为了达到压缩的效果,每个元素都存它本身...

2019-03-08 23:02:00 785

原创 Lucene源码分析 - Lucene50PostingsWriter 存储倒排索引

本文的代码以lucene-core 6.3.0为准,包含Lucene50PostingsWriter存储倒排索引的方式等整个类所有代码的解析。转载请注明出处。   Lucene50PostingsWriter类将倒排索引存到磁盘,先了解下这个类的基本信息:倒排表是以field为单位,也就是每个field都会写倒排表。docOut,posOut,payOut是三个文件的文件描述符。...

2019-03-08 12:48:24 871

原创 Lucene源码分析 - Lucene50SkipWriter 构建跳表

本文的代码以lucene-core 6.3.0为准,包含Lucene50SkipWriter的bufferSkip函数,finish函数等整个类所有代码的解析。转载请注明出处。

2019-03-07 22:12:29 740

原创 Lucene源码分析 - FST-Builder

分享一下Builder类的源码解析

2019-03-05 15:07:26 2122 1

原创 Lucene源码分析 - FST

lucene的FST的二进制存储和查询方式都是由FST这个类来实现。如果要读这些代码,首先需要了解这个类里面的一些基本的东西。

2019-03-01 19:37:12 4720 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除