Ekko Blog

路漫漫其修远兮 ,吾将上下而求索

向量库扫盲

从 Embedding、ANN 索引、混合检索到工程选型,系统理解向量数据库到底解决什么问题

这篇笔记的目标,不是把向量库当成一个“AI 时代的新中间件名词”简单过一遍,而是把它拆回工程本质:向量库到底在存什么、查什么、快在哪里、为什么 ANN 索引会成为核心,以及它和关系型数据库、搜索引擎、RAG 系统之间到底是什么关系。 这篇内容重点覆盖四件事:一是向量检索的基本计算模型,二是 HNSW / IVF / PQ 这类常见索引的取舍,三是过滤、混合检索、重排、更新删除...

RAG 扫盲

从检索增强生成的基本流程、关键模块到工程边界,系统理解它为什么有效、又为什么经常不稳

这篇笔记的目标,不是把 RAG 当成一个“给大模型外挂知识库”的流行词简单过一遍,而是把它拆回最核心的工程问题:为什么大模型单靠参数记忆不够、RAG 到底在哪个环节补位、一个能上线的 RAG 系统究竟由哪些模块组成。 这篇内容更偏“整体视图 + 概念辨析 + 工程边界”。它会说明 Naive RAG、Advanced RAG、Modular / Agentic RAG 的差异...

Karpathy LLM Wiki 体系化拆解

从 RAG 对比、三层架构、目录设计、原始资料获取到一次完整 ingest 工作流

这篇笔记围绕 Karpathy 提出的 LLM Wiki 展开,重点拆解它与传统 RAG 的差异、Raw Sources -> Wiki -> Schema 三层结构,以及“persistent wiki”为什么本质上是一层持久化知识编译层。 正文进一步补充目录设计、原始资料进入路径、AGENTS.md / CLAUDE.md 规则约束和一次完整 ingest 流...

MyBatis 插件机制与 SQL 改写

从拦截器、分页、数据权限到 BoundSql/MappedStatement/SqlSource 源码关系

这篇笔记不再只把视角停留在 Interceptor 或 InnerInterceptor 的“怎么用”,而是把问题拉到更底层:MyBatis 如何从 Mapper 方法一路生成 SQL、组织参数、进入 JDBC,再允许插件在执行链上改写 SQL。 如果只是想回答“业务方怎么拿到将要执行的 SQL”,一句话就够了:运行期最核心的对象是 BoundSql。但如果想回答“为什么分页...

Metrics、Prometheus、Grafana 三者关系

这三者如何区分、职责分别是什么、为什么总一起出现但又绝不是一回事

这篇笔记用于梳理 Metrics、Prometheus、Grafana 三者的层级关系与职责边界。重点不是分别重复定义,而是建立一套能够直接用于排障、选型与后续学习的整体视图。 它关注的是“数据抽象层、监控系统层、展示协作层”之间如何分工,以及为什么三者经常一起出现却绝不是同一种东西;具体到埋点 API、PromQL 细节、Dashboard 设计方法,则分别放在相关专题中展...

Grafana 监控可视化

从 Data source、Panel、Variables、Explore、Alerting 到 Provisioning,系统理解 Grafana

这篇笔记以 Grafana 官方文档为主线,围绕 data source、dashboard、panel、variable、Explore、alerting 与 provisioning 展开,重点说明 Grafana 在可观测性体系中的职责边界,以及它与 Prometheus 等后端的协作关系。 行文重点放在对象模型、查询链路、变量体系、排障方式、告警机制和 as-code...

Prometheus 监控系统

从数据模型、拉取架构、PromQL、规则系统到 Pushgateway / Remote Write,系统理解 Prometheus

这篇笔记以 Prometheus 官方文档为主线,围绕数据模型、抓取链路、查询语义、规则系统和存储边界,建立一个尽量完整且可用于生产语境的理解框架。 它重点讨论 Prometheus Server 及其常见生态协作关系,不展开 exporter 的具体埋点代码与 Grafana 面板设计细节,但会把 Pushgateway、Remote Write、长存储和 Alertman...

Metrics 指标监控

从指标语义、标签基数、直方图到 Micrometer / Prometheus / Spring Boot,系统梳理指标体系设计与查询思路

这篇笔记围绕 Metrics、Micrometer、Prometheus 与 Spring Boot 的协作链路展开,重点整理指标语义、数据模型、标签设计、直方图、百分位数、查询方式以及工程实现中的常见误区。 参考资料: 官方文档:Micrometer Concepts 、 Micrometer Timers 、 Micrometer Histograms and ...

Arthas 诊断工具

从 attach 原理、命令体系到线上排障剧本,系统理解 Arthas

这篇笔记围绕 Arthas 的 attach 机制、命令体系与线上排障路径展开,重点放在 JVM 观测、类加载确认、方法级观测以及运行时增强的使用边界。 Arthas 的价值不在于记住多少命令,而在于把运行中 JVM 的“猜测”转成“可验证的证据”:先看全局,再看线程和类加载,最后下钻到方法现场,并在必要时控制增强范围、持续时间与权限边界。 参考资料: 官...

Caffeine 本地缓存

核心机制、淘汰/刷新语义与 Spring Cache / Spring Boot 集成

这篇笔记聚焦 Caffeine 作为 Java 本地缓存的工作模型、容量与时间策略、刷新与回源语义,以及 Spring Cache / Spring Boot 集成时的实现边界。 重点放在 3 类问题:时间策略之间的真实语义差异、Spring 抽象与 Caffeine 原生能力的边界、多实例系统中本地缓存的定位与一致性成本。 参考资料: 官方仓库:Caff...