文章分类 -  java

摘要:knn 插件原理 利用 Lucene的 Codec 扩展机制。Codec 可以理解为 Lucene 索引文件格式的一种协议,用户只要实现对应的写入/读取的业务流程,即可自定义正排、倒排、StoreFields 等不同索引的具体实现。包装扩展了Lucene 的 Latest Codec,当向量数据写入 阅读全文
posted @ 2021-02-22 15:03 王南辉 阅读(174) 评论(0) 推荐(0)
摘要:getway模块用于集群元数据的存储以及重启时元数据的恢复,大致流程是 1、当master选举出来判断当前集群状态中元数据是否恢复,如果恢复的话跳过getway 否则的话 2、maste从个节点拉取元数据 3、判断各个节点的元数据中版本号最高的元数据最为最新元数据 (包括集群 和 索引) 4、确定之 阅读全文
posted @ 2020-07-13 15:49 王南辉 阅读(248) 评论(0) 推荐(0)
摘要:Sequence Number 每次进行索引操作seqNum自增,主要用于恢复时选择需要恢复哪部分数据 Primary Term 每次主分片易主这个数会增加,主要目的是防止一个陈旧的主分片重新加入进来时进行脏数据的操作,如当一个主分片暂时 离开集群,离开前刚好在进行数据的操作,此时已经选择了新主分片 阅读全文
posted @ 2020-07-12 18:24 王南辉 阅读(397) 评论(0) 推荐(0)
摘要:Es 恢复流程大体上分为 init index verify_index translog finalize done 6个阶段 恢复流程包括多个模块 getway: 读取集群 索引 元信息 然后更新 之后调用reroute allocation: 调用reroute后执行分片服务,分完片后更新集群 阅读全文
posted @ 2020-07-12 18:13 王南辉 阅读(1861) 评论(0) 推荐(0)
摘要:Es 的search流程 1、协调节点接收到search请求后封装查询request 2、从clusterMata中获取索引有多少分片 设置相关参数,循环发送到分片所在的节点 3、分片接收到meaasge后判断是否要走cache 4、不需要走cache的话交交给lucene去查,查询完滞后判断是否要 阅读全文
posted @ 2020-07-10 17:46 王南辉 阅读(1116) 评论(0) 推荐(0)
摘要:整体流程协调节点封装请求发送给对应的分片,如果在此分片失败找下一个分片,成功后封装结果返回给客户端 请求入口 RestGetAction @Override public RestChannelConsumer prepareRequest(final RestRequest request, fi 阅读全文
posted @ 2020-07-09 15:04 王南辉 阅读(628) 评论(0) 推荐(0)
摘要:Es写索引包括协调节点流程和节点写索引的流程 协调节点主要做索引的预处理、检查、分发任务 节点执行完后发发送给主分片所在节点,该节点把response发送给协调节点,协调节点发送给用户 入口在TransportBulkAction的doExecute @Override protected void 阅读全文
posted @ 2020-07-08 17:28 王南辉 阅读(572) 评论(0) 推荐(0)
摘要:实例化node后调用各个模块的 start方法,discovery模块调用startInitialJoin()->startNewThreadIfNotRunning()->innerJoinCluster() /** * the main function of a join thread. Th 阅读全文
posted @ 2020-07-07 14:46 王南辉 阅读(658) 评论(0) 推荐(0)
摘要:1. G1概览 G1 GC 全称是Garbage First Garbage Collector,垃圾优先垃圾回收器,以下简称G1。G1是HotSpot JVM的短停顿垃圾回收器。其实关于G1的论文早在2004年就有了,但是G1是在2012年4月发布的JDK 7u4中才实现。从长期来说,G1旨在取代 阅读全文
posted @ 2020-05-06 11:36 王南辉 阅读(296) 评论(0) 推荐(0)
摘要:独占锁 尝试直接获取资源,如果成功直接返回addWaiter 把当前node放到队尾并标记为独占锁acquireQueued实现成阻塞在等待队列中获取资源,直到获取到,如果获取有被中断过返回true如果有中断过就执行线程中断操作 tryAcquire(args)尝试获取资源,主方法中返回Unsupp 阅读全文
posted @ 2019-10-21 11:23 王南辉 阅读(155) 评论(0) 推荐(0)
摘要:cafebabe 魔数 00 00 00 34 JAVA 版本号 00 16 21个变量 1、07 00 02 Constant_Class_info 类或者符号的引用Constant_Class_info{ U1 tag 07 U2 name_index 00 02 指向常量池中第二个class对 阅读全文
posted @ 2019-03-18 18:45 王南辉 阅读(706) 评论(0) 推荐(0)