<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[我的博客]]></title>
        <description><![CDATA[博客 RSS Feed]]></description>
        <link>https://example.com</link>
        <generator>RSS for Node</generator>
        <lastBuildDate>Wed, 10 Jun 2026 03:58:21 GMT</lastBuildDate>
        <atom:link href="https://example.com/api/feed" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Elastic APM 接入实战]]></title>
            <description><![CDATA[
> **Elastic APM：应用性能监控接入实战**


ELK 全家桶不只能查日志，还能做 APM（Application Performance Monitoring）。Elastic APM 提供了从应用埋点到可视化分析的端到端方案，且与 Elastic Stack 原生集成。本文从架构讲起，手把手带你接入一个 Go 应用。

---

## 1. APM 架构总览
]]></description>
            <link>https://example.com/posts/elastic-apm</link>
            <guid isPermaLink="true">https://example.com/posts/elastic-apm</guid>
            <pubDate>Fri, 22 May 2026 05:16:52 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Kibana 可视化和仪表盘]]></title>
            <description><![CDATA[
> **Kibana 可视化和仪表盘**


Kibana 是 Elastic Stack 的"门面"。日志采集入库只是第一步，让数据变得可见、可探索、可监控，才是 Kibana 的核心价值。本文将系统介绍 Kibana 四大可视化工具的使用方法，并从零搭建一个 Nginx 监控面板。

---

## 1. Discover：快速搜索和查看日志

Discover 是最常用]]></description>
            <link>https://example.com/posts/kibana-dashboard</link>
            <guid isPermaLink="true">https://example.com/posts/kibana-dashboard</guid>
            <pubDate>Fri, 22 May 2026 05:16:52 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ELK 管道全流程]]></title>
            <description><![CDATA[
> **Filebeat -> Logstash -> ES -> Kibana 管道全流程**


ELK（Elasticsearch、Logstash、Kibana）加上 Filebeat（或统称 ELK Stack）是目前最主流的日志中心化解决方案。本文从零解析 Filebeat -> Logstash -> Elasticsearch -> Kibana 的完整数据管道，给出可落]]></description>
            <link>https://example.com/posts/elk-pipeline</link>
            <guid isPermaLink="true">https://example.com/posts/elk-pipeline</guid>
            <pubDate>Fri, 22 May 2026 05:16:52 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ES 安全三件套]]></title>
            <description><![CDATA[
> **ES 安全三件套**


Elasticsearch 在 6.8/7.1 版本之前，安全功能是 X-Pack 付费版专属。但从 6.8 和 7.1 开始，**基础安全功能免费开放**，包括认证（Authentication）、授权（Authorization）和 TLS 加密。本文将逐一拆解这"安全三件套"的配置与实战。

---

## 1. 认证（Authentica]]></description>
            <link>https://example.com/posts/es-security</link>
            <guid isPermaLink="true">https://example.com/posts/es-security</guid>
            <pubDate>Fri, 22 May 2026 05:16:52 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ES 慢日志配置与分析实战]]></title>
            <description><![CDATA[
> **ES 慢日志配置与分析实战**


生产环境中 Elasticsearch 突然卡顿，第一个排查入口就是**慢日志（Slow Log）**。ES 提供了两类慢日志：慢搜索日志和慢索引日志。本文将详细讲解配置方式、日志格式解读、分析技巧，以及常见踩坑案例。

---

## 1. 慢搜索日志（Search Slow Log）

慢搜索日志记录超过指定阈值的查询请求，分为]]></description>
            <link>https://example.com/posts/slow-log</link>
            <guid isPermaLink="true">https://example.com/posts/slow-log</guid>
            <pubDate>Fri, 22 May 2026 05:16:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ES 核心监控指标]]></title>
            <description><![CDATA[
> **ES 核心监控指标**


Elasticsearch 集群上线后，如果没有一套完善的监控体系，故障排查就变成"盲人摸象"。本文梳理了 ES 运维中最核心的 7 大类监控指标，以及接入 Prometheus + Grafana 的落地方案。

---

## 1. Heap 使用率

ES 是 Java 应用，堆内存（Heap）用满后会触发 **OOM（OutOfMe]]></description>
            <link>https://example.com/posts/es-monitoring</link>
            <guid isPermaLink="true">https://example.com/posts/es-monitoring</guid>
            <pubDate>Fri, 22 May 2026 05:16:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[脑裂问题：从原理到预防]]></title>
            <description><![CDATA[
> **脑裂问题：从原理到预防**


## 一、脑裂是什么

脑裂（Split-Brain）指在一个 Elasticsearch 集群中**同时出现了两个或多个 Master 节点**，各自认为自己是唯一的 Master，各自独立接收写入操作。

```
正常状态：        [Master] -- [Data Node 1] -- [Data Node 2]

脑裂]]></description>
            <link>https://example.com/posts/split-brain</link>
            <guid isPermaLink="true">https://example.com/posts/split-brain</guid>
            <pubDate>Fri, 22 May 2026 05:16:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ES 滚动升级与零停机变更]]></title>
            <description><![CDATA[
> **ES 滚动升级与零停机变更**


## 一、滚动升级（Rolling Upgrade）概述

滚动升级是 ES 官方推荐的零停机升级方式。基本思路：**一次只停一个节点，升级后启动，等集群恢复 Green，再升级下一个。**

```
节点 1 → 暂停分配 → 停服 → 升级 → 启动 → 恢复 → 等 Green → 节点 2 → ...
```

## 二]]></description>
            <link>https://example.com/posts/rolling-upgrade</link>
            <guid isPermaLink="true">https://example.com/posts/rolling-upgrade</guid>
            <pubDate>Fri, 22 May 2026 05:16:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[快照与灾难恢复]]></title>
            <description><![CDATA[
> **快照与灾难恢复**


## 一、Snapshot 是什么

Elasticsearch 的快照（Snapshot）是对集群索引的**增量备份**。第一次快照是完整备份，后续快照只备份自上次快照以来发生变化的 segment 文件。这个机制使得快照占用空间小、速度较快，适合高频备份策略。

快照存储在 **Snapshot Repository**（快照仓库）中，仓库是一]]></description>
            <link>https://example.com/posts/snapshot-and-restore</link>
            <guid isPermaLink="true">https://example.com/posts/snapshot-and-restore</guid>
            <pubDate>Fri, 22 May 2026 05:16:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[集群健康度]]></title>
            <description><![CDATA[
> **集群健康度：Green / Yellow / Red 意味着什么、怎么办**


## 一、三种颜色的定义与判定条件

Elasticsearch 的集群健康状态通过 `GET /_cluster/health` 查询，返回 `status` 字段，只有三个可能值：

| 状态 | 含义 | 判定条件 | 是否影响读写 | 是否影响高可用 |
|------|-----]]></description>
            <link>https://example.com/posts/cluster-health</link>
            <guid isPermaLink="true">https://example.com/posts/cluster-health</guid>
            <pubDate>Fri, 22 May 2026 05:16:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Segment 合并]]></title>
            <description><![CDATA[
> **Segment 合并：什么时候该 force merge**


Lucene 的不可变 Segment 设计带来了一系列并发读写的好处，但也留下了一个坑——随着写入，Segment 数量不断增长，查询需要遍历越来越多的 Segment，性能也随之下降。Segment Merge 就是解决这个问题的后台机制。但 Merge 本身是一把双刃剑，本文讲清楚什么时候该主动干预、什么时候]]></description>
            <link>https://example.com/posts/segment-merge</link>
            <guid isPermaLink="true">https://example.com/posts/segment-merge</guid>
            <pubDate>Fri, 22 May 2026 05:16:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ES 缓存体系]]></title>
            <description><![CDATA[
> **ES 缓存体系**


ES 的查询性能很大程度上取决于缓存命中率。理解 ES 的三层缓存体系——Query Cache、Fielddata Cache、Request Cache——是排查"为什么同样的查询有时快有时慢"的关键。本文逐一拆解每层缓存的原理、适用场景和监控方法。

## 三层缓存全景图

| 缓存 | 缓存粒度 | 缓存内容 | 适用场景 | 失效条件 |]]></description>
            <link>https://example.com/posts/es-cache</link>
            <guid isPermaLink="true">https://example.com/posts/es-cache</guid>
            <pubDate>Fri, 22 May 2026 05:16:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[JVM 调优]]></title>
            <description><![CDATA[
> **JVM 调优：Heap 多大合适、GC 怎么选**


Elasticsearch 运行在 JVM 上，JVM 参数的配置直接影响集群的稳定性和吞吐量。堆内存配小了频繁 GC，配大了 GC 暂停时间又太长。本文结合 ES 官方建议和生产实践经验，讲清楚 Heap 和 GC 怎么调。

## Heap 大小：双上限法则

ES 官方给的 Heap 配置规则很明确：**设为物]]></description>
            <link>https://example.com/posts/jvm-tuning</link>
            <guid isPermaLink="true">https://example.com/posts/jvm-tuning</guid>
            <pubDate>Fri, 22 May 2026 05:16:50 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[分片大小的黄金法则与再平衡策略]]></title>
            <description><![CDATA[
> **分片大小的黄金法则与再平衡策略**


分片（shard）是 ES 中最底层的 Lucene 索引实例，也是数据分布的最小单元。分片数量和大小设计不当，轻则查询变慢，重则集群不可用。本文介绍分片规划的黄金法则和实操策略。

## 单分片最佳大小：10-50GB

业界公认的单分片最佳大小是 **10GB 到 50GB**。这个数字背后有详实的工程依据：

**为什么不]]></description>
            <link>https://example.com/posts/shard-sizing</link>
            <guid isPermaLink="true">https://example.com/posts/shard-sizing</guid>
            <pubDate>Fri, 22 May 2026 05:16:50 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ES 查询性能调优 Checklist]]></title>
            <description><![CDATA[
> **ES 查询性能调优 Checklist**


Elasticsearch 查询性能调优不是玄学，而是一个有章可循的排查过程。本文从 Profile API 出发，带你逐层定位慢查询根因，最后给出一份可执行的 Checklist。

## Profile API：查询性能的"火焰图"

Profile API 是排查慢查询的第一利器。只需在查询中加 `"profile":]]></description>
            <link>https://example.com/posts/query-performance-checklist</link>
            <guid isPermaLink="true">https://example.com/posts/query-performance-checklist</guid>
            <pubDate>Fri, 22 May 2026 05:16:50 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[深分页三大方案]]></title>
            <description><![CDATA[
> **深分页三大方案：from/size → scroll → search_after → PIT**


"用户想看第 500 页的订单数据。"

你在 ES 里执行 `from: 10000, size: 20`——报错了：`Result window is too large`。把 `max_result_window` 调到 50000，能跑了，但翻到第 3000 页时耗]]></description>
            <link>https://example.com/posts/deep-pagination</link>
            <guid isPermaLink="true">https://example.com/posts/deep-pagination</guid>
            <pubDate>Fri, 22 May 2026 05:16:50 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[聚合：从指标到管道聚合]]></title>
            <description><![CDATA[
> **聚合（Aggregation）：从指标到管道聚合**


你在 ES 里不仅能搜数据，还能直接"问数据问题"：

- 每个分类下有多少商品？
- 近 30 天订单金额的变化趋势？
- 哪些商品的评分最高？
- 用户行为中，从浏览到下单的转化漏斗长什么样？

这些 ES 全都能做，而且比"查出数据在应用层计算"快一到两个数量级。用的就是聚合（Aggregation）。]]></description>
            <link>https://example.com/posts/aggregation</link>
            <guid isPermaLink="true">https://example.com/posts/aggregation</guid>
            <pubDate>Fri, 22 May 2026 05:16:50 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ES 分词器彻底搞懂]]></title>
            <description><![CDATA[
> **ES 分词器彻底搞懂（analyzer / tokenizer / filter）**


"为什么搜 '南京市长江大桥' 会匹配到 '南京市长'？"

"为什么搜 'java' 能找到 'JavaScript'？"

"为什么搜同一个词，中文能搜到英文搜不到？"

答案都在一个组件里：**分词器（Analyzer）**。它是 ES 全文搜索最底层的基础设施——索引时]]></description>
            <link>https://example.com/posts/analyzer</link>
            <guid isPermaLink="true">https://example.com/posts/analyzer</guid>
            <pubDate>Fri, 22 May 2026 05:16:49 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[全文搜索]]></title>
            <description><![CDATA[
> **全文搜索：match、match_phrase、query_string 什么时候用哪个**


用户在搜索框输入 `"iPhone 15 Pro Max"`，你的 ES 应该怎么查？

你会想：不就是个 match 吗。但如果用户输的是 `"iPhone 15 -mini"`（排除 mini）、`"title:iPhone AND price:[5000 TO 10000]]]></description>
            <link>https://example.com/posts/fulltext-search</link>
            <guid isPermaLink="true">https://example.com/posts/fulltext-search</guid>
            <pubDate>Fri, 22 May 2026 05:16:49 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Bool Query：ES 最强大的复合查询]]></title>
            <description><![CDATA[
> **Bool Query：ES 最强大的复合查询**


如果你只能从 ES 带走一种查询，带走 Bool Query。

它不只是一个"多层条件组合"的工具——它是 ES 几乎所有的复合查询的基石。ES 官方文档里大量查询底层都会转化成 Bool Query 执行。理解 Bool Query，就理解了 ES 搜索运转的核心逻辑。

## 四子句速览

Bool Quer]]></description>
            <link>https://example.com/posts/bool-query</link>
            <guid isPermaLink="true">https://example.com/posts/bool-query</guid>
            <pubDate>Fri, 22 May 2026 05:16:49 GMT</pubDate>
        </item>
    </channel>
</rss>