gydtep
发表于 2021-11-11 18:44:53
数据库的储存同步、多点写,还有消息。这些东西其实平时同学们都在用,但架构师不仅在用,架构师真的是要去把玩,彻底了解透彻这些东西,这是关键点。
gydtep
发表于 2021-11-12 09:00:40
如果你是一个认真负责的代码评审者,阿里云云效代码智能语法服务一定是帮助你充分理解代码变更,超越眼口,到达“心到”境界的功能。心既到矣,眼口岂不到乎?
gydtep
发表于 2021-11-12 12:02:45
援引官方示例来简单介绍下LSIF,如下方代码:
1、// this is a sample class
2、public class Sample {
3、}
gydtep
发表于 2021-11-12 14:23:55
针对阿里巴巴内部主要的Java语言,我们利用开源Java代码解析工具Spoon将Java源代码分析为AST(抽象语法树),然后捕捉定义和引用、定义与注释之间的关联,将坐标信息、注释内容,文本类型,所属文件等信息聚合,输出为统一的LSIF的Json格式。
gydtep
发表于 2021-11-12 21:08:24
语法服务的索引大小约是代码文件内容的数倍,比较消耗存储资源。所以针对用户通常的使用习惯和场景,制定了一系列索引清理任务来避免资源过度的损耗。
当代码评审合并或删除时,当分支删除时,系统会开始执行索引清理任务,释放索引资源。
gydtep
发表于 2021-11-13 09:42:16
对于广大 Elasticsearch 使用者而言,在面对系统资源分配、问题请求排查时是否曾遇到以下问题:
• 只知道需要预留许多内存资源给 lucene(一般为系统资源的一半),但是分配的这些是否够用,以及这些内存资源被什么文件所占用,往往都不得而知;
gydtep
发表于 2021-11-13 16:50:11
lucene 文件类型
ES 的一个分片就是一个 lucene 实例,实例由一个或多个 segment 构成。lucene 每次 flush 操作都会对一个 segment 进行持久化操作(会将内存中的 segment 写到文件,但不执行 FileChannel::force,即存在数据丢失的可能),其内容为期间有变更的文档,同一个段涉及到的文件前缀都是相同的 generation(36进制的一个数字,每次 flush 会加一),每个段可能涉及到的文件如下表所示。
gydtep
发表于 2021-11-14 07:21:16
ES 进程的 JVM 堆内存主要包括以下几部分内容(不详细展开)
• Indexing Buffer:索引缓冲区,用于存储新索引的文档,当其达到阈值时,会触发 ES flush 将段落到磁盘上;
gydtep
发表于 2021-11-14 08:43:43
ES 的一个分片就是一个 lucene 实例,实例由一个或多个 segment 构成。lucene 每次 flush 操作都会对一个 segment 进行持久化操作(会将内存中的 segment 写到文件,但不执行 FileChannel::force,即存在数据丢失的可能),其内容为期间有变更的文档,同一个段涉及到的文件前缀都是相同的 generation(36进制的一个数字,每次 flush 会加一),每个段可能涉及到的文件如下表所示。
gydtep
发表于 2021-11-14 15:13:45
功能点
采集目标:ES索引下各类 lucene 文件的 page cache 占用,单位MB,默认采集全部索引,支持配置采集的索引前缀。
页:
1
2
3
4
[5]
6
7
8
9
10
11
12
13
14