<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>CatBlog</title>
    <link>https://yaocat.cloud/</link>
    <description>Recent content on CatBlog</description>
    <image>
      <title>CatBlog</title>
      <url>https://yaocat.cloud/images/avatar.jpg</url>
      <link>https://yaocat.cloud/images/avatar.jpg</link>
    </image>
    <generator>Hugo</generator>
    <language>zh</language>
    <copyright>2022 CatBlog</copyright>
    <lastBuildDate>Wed, 22 May 2024 11:30:03 +0000</lastBuildDate>
    <atom:link href="https://yaocat.cloud/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>K8s 网络分层全景：OSI 七层视角下看清 Pod IP、Service、Ingress 与组件分工</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8snetworklayeringmap/</link>
      <pubDate>Wed, 22 May 2024 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8snetworklayeringmap/</guid>
      <description>K8s 网络为什么这么难懂？因为它是多层网络叠在一起（物理机网段/节点网段/Pod 网段/Service 网段，kind 里节点网段是容器 IP 而非物理机 IP），且不同组件在不同协议层发力（CNI 在 L3、kube-proxy 在 L4、Ingress 在 L7）。本文用 OSI 七层/TCP-IP 四层做坐标系，逐层说明 K8s 通用组件职责，辨析四个 IP 等易混概念。</description>
    </item>
    <item>
      <title>Gateway API 实战：ingress-nginx 归档后的新标准（kind &#43; Envoy Gateway 全打通）</title>
      <link>https://yaocat.cloud/posts/kubernetes/gatewayapipractice/</link>
      <pubDate>Mon, 20 May 2024 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/gatewayapipractice/</guid>
      <description>ingress-nginx 已于 2026 年 3 月归档停更，K8s 流量入口的新标准是 Gateway API。本文在 kind 上用 Envoy Gateway 完整打通 GatewayClass/Gateway/HTTPRoute 三级资源模型，含全部命令、真实踩坑（NGF 配置 bug、镜像预载、GatewayClass 缺失）与 Ingress 迁移对照。</description>
    </item>
    <item>
      <title>tmux 终端复用实战：SSH 断了会话不丢，一个连接管理所有终端</title>
      <link>https://yaocat.cloud/posts/linux/tmuxterminalmultiplexer/</link>
      <pubDate>Sat, 24 Feb 2024 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/linux/tmuxterminalmultiplexer/</guid>
      <description>tmux 安装与使用实战：会话/窗口/窗格三件套、常用前缀键操作表、k9s 放进 tmux 窗口解决快捷键截断、跨 SSH 断线会话持久化演示（附真实终端输出），以及前缀键冲突的配置方案。</description>
    </item>
    <item>
      <title>K8s 组件职责全景：一条 kubectl 命令背后的控制面与节点协作</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8scomponentsdeepdive/</link>
      <pubDate>Thu, 22 Feb 2024 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8scomponentsdeepdive/</guid>
      <description>以 kubectl 命令为案例拆解 K8s 组件分工：apiserver/etcd/scheduler/controller-manager 与 kubelet/kube-proxy/containerd/CNI 的职责与工作流程，用 events 的 reportingComponent 实测证明谁在干活，附排障归属地图。</description>
    </item>
    <item>
      <title>K8s 破坏性练习：7 天把「会做」练成「会排障」</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8sbreakitfixit/</link>
      <pubDate>Tue, 20 Feb 2024 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8sbreakitfixit/</guid>
      <description>从照教程到会实战之间隔着排障能力。7 天破坏性练习：每天一个破坏动作（删 Pod、删 ConfigMap、改探针、塞爆资源、破坏 selector、驱逐节点、改抓取配置），实测症状 &#43; 排查路径 &#43; 修复，把诊断思维练成本能。</description>
    </item>
    <item>
      <title>K8s Helm 包管理实战：一套模板管所有环境与发布生命周期</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8shelmpractice/</link>
      <pubDate>Sun, 18 Feb 2024 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8shelmpractice/</guid>
      <description>Helm 实战：Chart/Release/Values 三概念、把 demo-app 清单模板化的完整过程、多环境一套模板渲染、发布生命周期（install/upgrade/rollback），以及 ConfigMap 变更不触发滚动的经典坑与 checksum 解法。</description>
    </item>
    <item>
      <title>为什么是 K8s：传统微服务运维痛点与 K8s 的设计回应</title>
      <link>https://yaocat.cloud/posts/kubernetes/whykubernetes/</link>
      <pubDate>Fri, 16 Feb 2024 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/whykubernetes/</guid>
      <description>以 Spring Cloud 传统微服务为参照系，逐话题对照 K8s 的设计回应：配置、服务发现、健康、发布、弹性、存储、可观测——每个话题附对应系列教程链接，点出声明式与控制回路两大设计思想的优越性。</description>
    </item>
    <item>
      <title>K8s 状态化应用与存储实战：StatefulSet 三大保证与存储三层抽象</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8sstatefulsetstoragepractice/</link>
      <pubDate>Wed, 14 Feb 2024 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8sstatefulsetstoragepractice/</guid>
      <description>StatefulSet 与存储实战：稳定网络标识、专属存储、有序滚动三大保证的实测，PVC/PV/StorageClass 三层抽象与动态供应原理，kind 本地存储到 ACK 云盘的一一映射。</description>
    </item>
    <item>
      <title>AWS EKS 与阿里云 ACK 托管对比：计费差异、产品线布局与中小企业选型</title>
      <link>https://yaocat.cloud/posts/kubernetes/eksvsackcomparison/</link>
      <pubDate>Mon, 12 Feb 2024 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/eksvsackcomparison/</guid>
      <description>基于官方文档实测的 AWS EKS 与阿里云 ACK 云托管 K8s 对比：控制面计费、集群形态、Serverless、网络、身份体系全维度差异，附中小企业三档推荐配置与月成本估算。</description>
    </item>
    <item>
      <title>Java 开发工程师的 K8s 职责清单：八项必修、三类免学、五个专属坑</title>
      <link>https://yaocat.cloud/posts/kubernetes/javadeveloperk8schecklist/</link>
      <pubDate>Mon, 04 Dec 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/javadeveloperk8schecklist/</guid>
      <description>给 Java 开发工程师的 K8s 职责清单：八项必修技能、三类不用学的运维课、五个 Java 专属坑（JVM 内存/慢启动/发版502/配置/日志），附开发者与运维的职责边界表和问题排查索引。</description>
    </item>
    <item>
      <title>监控接入三方案原理对比：SSH 隧道、堡垒机与云原生监控</title>
      <link>https://yaocat.cloud/posts/kubernetes/monitoringaccessthreeways/</link>
      <pubDate>Sat, 02 Dec 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/monitoringaccessthreeways/</guid>
      <description>对比 SSH 隧道、堡垒机、云原生监控三种接入监控系统的方案：拓扑原理、公网暴露面、认证与审计差异、数据主权本质，附决策地图与真实故障案例。</description>
    </item>
    <item>
      <title>Kubernetes 系列总结：两台服务器的资产清点与六课收获</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8sserieswrapup/</link>
      <pubDate>Thu, 30 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8sserieswrapup/</guid>
      <description>Kubernetes 学习系列收官总结：清点 debian 笔记本服务器与云服务器上部署的全部资产（kind 集群、Prometheus、Grafana、博客站点），逐课拆解看&#43;复现每个课时能学到的知识与生产映射。</description>
    </item>
    <item>
      <title>Kubernetes 可观测性实战：把 Prometheus&#43;Grafana 装进 kind，一次踩满四个坑</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8sobservabilitypractice/</link>
      <pubDate>Tue, 28 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8sobservabilitypractice/</guid>
      <description>在 kind 集群为 Spring Boot 应用搭建 Prometheus&#43;Grafana 可观测性链路：四个真实踩坑（NodePort 端口区间、kind 网络命名空间、ClusterIP DNS 边界、Grafana provisioning 子目录）串起全部知识点，附完整清单与 PromQL 查询。</description>
    </item>
    <item>
      <title>Kubernetes 优雅停机与资源管理：发版不断连 &#43; 防 OOM 实战</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8sgracefulshutdownresources/</link>
      <pubDate>Sun, 26 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8sgracefulshutdownresources/</guid>
      <description>在 kind 集群上实战优雅停机与资源管理：慢请求在 Pod 删除时如何存活、对照组为什么不复现断连、requests/limits 资源账本与 OOMKilled 实测，附完整 YAML。</description>
    </item>
    <item>
      <title>Kubernetes 探针三兄弟：readiness / liveness / startup 的生产级实战</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8sprobespractice/</link>
      <pubDate>Fri, 24 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8sprobespractice/</guid>
      <description>在 kind 集群上给 Spring Boot 应用配置三种探针并实测：readiness 摘流守门、liveness 故障自愈、startup 防启动误杀，含完整 YAML、演示命令与 Prometheus 对比。</description>
    </item>
    <item>
      <title>Spring Boot 容器化与配置注入：多阶段构建 &#43; ConfigMap/Secret 实战</title>
      <link>https://yaocat.cloud/posts/kubernetes/springbootcontainerizeandconfig/</link>
      <pubDate>Wed, 22 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/springbootcontainerizeandconfig/</guid>
      <description>把一个真实 Spring Boot 应用容器化并部署进 kind 集群：多阶段 Dockerfile 瘦身、首次构建慢的真相、ConfigMap/Secret 三种注入姿势、宽松绑定原理与 Nacos 取舍。</description>
    </item>
    <item>
      <title>Kubernetes Service 与 Ingress 实战：四种暴露方式从内到外全打通</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8sserviceingresspractice/</link>
      <pubDate>Mon, 20 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8sserviceingresspractice/</guid>
      <description>在 kind 集群上打通 Service 四种暴露方式：ClusterIP 集群内 DNS、NodePort 节点访问、metallb 模拟 LoadBalancer、Ingress 域名路由，含全部命令与真实踩坑记录。</description>
    </item>
    <item>
      <title>Kubernetes Deployment 实战：部署、滚动更新与回滚的完整演示</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8sdeploymenthandson/</link>
      <pubDate>Sat, 18 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8sdeploymenthandson/</guid>
      <description>在 kind 集群上完整演示 Deployment 实战：副本调度、对象层级、扩容、滚动更新、坏版本发布与回滚，附真实踩坑（rollout undo 未生效）与控制器原理图解。</description>
    </item>
    <item>
      <title>内网穿透实战：SSH 反向隧道让外网随时随地访问家里的服务器</title>
      <link>https://yaocat.cloud/posts/linux/sshreversetunnelintranetaccess/</link>
      <pubDate>Thu, 16 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/linux/sshreversetunnelintranetaccess/</guid>
      <description>用 SSH 反向隧道实现内网穿透：NAT 原理图解、autossh 保活配置、阿里云 ECS 中转的安全加固（受限账号/密钥/fail2ban）与真实踩坑记录。</description>
    </item>
    <item>
      <title>kind 一主二从集群搭建全记录：代理配置、多集群切换与踩坑实录</title>
      <link>https://yaocat.cloud/posts/kubernetes/kindlocalk8sclustersetup/</link>
      <pubDate>Tue, 14 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/kindlocalk8sclustersetup/</guid>
      <description>手把手搭建本地 Kubernetes 学习环境：kind 创建一主二从集群，kubectl 与 k9s 安装全流程，含硬件配置要求、国内网络代理方案、节点资源成本与核心概念图解。</description>
    </item>
    <item>
      <title>PLG 可观测栈生产化：Prometheus/Loki/Grafana 上线前必须补的参数清单</title>
      <link>https://yaocat.cloud/posts/monitoring/plgproductionhardening/</link>
      <pubDate>Sun, 12 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/monitoring/plgproductionhardening/</guid>
      <description>把 PLG（Prometheus &#43; Loki &#43; Grafana）从玩具变成生产系统：Prometheus 存储保留与高可用、Loki 限额与压缩、Promtail 标签设计红线、Grafana 认证与数据库，以及后端开发兼职运维最容易忽略的 12 个坑。全部参数可落地，附配置示例。</description>
    </item>
    <item>
      <title>微服务架构下 nginx 运维：后端开发如何借 AI 守住流量入口</title>
      <link>https://yaocat.cloud/posts/nginx/nginxmicroserviceopsguide/</link>
      <pubDate>Fri, 10 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/nginx/nginxmicroserviceopsguide/</guid>
      <description>微服务架构里 nginx 不再是静态服务器，而是直连 gateway 的流量入口。这篇文章写给后端开发：nginx 在微服务里的角色、必须配的关键配置（worker/upstream/代理头/超时/限流/日志）、性能红线，以及如何借助 AI 完成日常排障与调优，避免把入口配成瓶颈。</description>
    </item>
    <item>
      <title>给 1核2G 的阿里云 ECS 换上免费 HTTPS：从装证书到踩坑全记录</title>
      <link>https://yaocat.cloud/posts/ecshttpsfreecertpractice/</link>
      <pubDate>Wed, 08 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/ecshttpsfreecertpractice/</guid>
      <description>一台 1核2G 阿里云 ECS 上跑着 Docker nginx 博客，从裸奔 HTTP 升级到 HTTPS 的完整记录：acme.sh 申请 Let&amp;#39;s Encrypt 免费证书踩的邮箱坑、nginx 配置挂载改造、gzip 压缩省 73% 流量、证书自动续期配置。普通开发者的实践视角，附全部命令。</description>
    </item>
    <item>
      <title>Prometheus 告警体系搭建：从 Alertmanager 到 AI ChatOps 一条龙</title>
      <link>https://yaocat.cloud/posts/monitoring/prometheusalertchatops/</link>
      <pubDate>Mon, 06 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/monitoring/prometheusalertchatops/</guid>
      <description>从零搭建 Prometheus 告警体系：8 条告警规则怎么写、Alertmanager 分组去重原理、webhook 对接 IM 的三种姿势，以及用 Hermes Agent 把告警变成 AI ChatOps——告警进 Telegram 后 AI 自动排查、你动嘴就能修服务器。附 WSL2 练习环境的全部坑点。</description>
    </item>
    <item>
      <title>RocketMQ 实战避坑指南：从消息丢失到高可用，9大核心问题一网打尽</title>
      <link>https://yaocat.cloud/posts/rocketmq/rocketmqpracticeguide/</link>
      <pubDate>Sat, 04 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rocketmq/rocketmqpracticeguide/</guid>
      <description>RocketMQ 生产环境实战经验总结，系统梳理消息丢失、重复消费、积压、顺序消息、分布式事务等9大核心问题的根因、原理与可落地方案，帮你绕过那些教科书不会写的坑。</description>
    </item>
    <item>
      <title>日终对账系统设计：CSV 字段对照、两轮比对算法与数据库设计</title>
      <link>https://yaocat.cloud/posts/reconciliationsystemdesign/</link>
      <pubDate>Thu, 02 Nov 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/reconciliationsystemdesign/</guid>
      <description>对账系统从零设计的全过程：两渠道CSV字段逐一对照recon_temp表、总额校验O(1)快速对平、逐笔对比HashMap内存撮合不JOIN、差异七种分类的处置策略。含支付宝23列和微信29列的完整映射表。</description>
    </item>
    <item>
      <title>微信支付 vs 支付宝：聚合支付渠道集成中的十一处暗坑</title>
      <link>https://yaocat.cloud/posts/alipayvswechatpaychanneldifferences/</link>
      <pubDate>Tue, 31 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/alipayvswechatpaychanneldifferences/</guid>
      <description>聚合支付系统集成两渠道时踩过的坑：prepay返回值语义不同、二次签名自己做、回调验证逻辑完全不同、金额单位一个用分一个用元、对账单字段差异等。全文对照支付宝和微信在SDK、下单、签名、回调、退款、对账六大环节的具体差异。</description>
    </item>
    <item>
      <title>支付服务那些坑：从先落库到分表预案，一笔钱背后的设计决策</title>
      <link>https://yaocat.cloud/posts/payment/paymentservicedesignpitfalls/</link>
      <pubDate>Sun, 29 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/payment/paymentservicedesignpitfalls/</guid>
      <description>支付服务设计中最容易踩的坑：先落库还是先调渠道、支付单与退款单为何分表、前端该直连还是走订单、状态机怎么拆、分库分表预案怎么留——结合真实设计文档，讲清每个决策背后的财务理由。</description>
    </item>
    <item>
      <title>支付系统设计评审：一次增量讨论补足的五个缺陷</title>
      <link>https://yaocat.cloud/posts/paymentsystemdesignreview/</link>
      <pubDate>Fri, 27 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/paymentsystemdesignreview/</guid>
      <description>一次统一支付服务的增量设计评审记录：无联表对账重构、雪花ID时间边界误区、支付退款资金流向模型、对账三结果判定、业务字段通用性，五个被讨论补足的架构缺陷</description>
    </item>
    <item>
      <title>数据库金额字段该用 decimal 还是 bigint：从历史惯例到现代支付栈的选型之路</title>
      <link>https://yaocat.cloud/posts/decimalvsbigintmoney/</link>
      <pubDate>Wed, 25 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/decimalvsbigintmoney/</guid>
      <description>从会计软件惯例讲到现代支付 API 契约，对比 decimal 与 bigint 在金额存储上的原理、性能与边界，解释为什么历史系统偏爱 decimal 而支付栈逐渐统一到整数最小单位</description>
    </item>
    <item>
      <title>小程序支付后端从零构建：wx.pay 全流程、幂等实践与客户端定位</title>
      <link>https://yaocat.cloud/posts/miniprogrampaymentbackend/</link>
      <pubDate>Mon, 23 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/miniprogrampaymentbackend/</guid>
      <description>没有商户号也能学会的支付后端：本文用 Java &#43; Spring Boot 跑通 wx.pay 的统一下单、二次签名与异步回调，详解乐观锁、唯一索引与 Redis 令牌组成的三层幂等防御，并拆解客户端与后端在支付体系中的真实分工。</description>
    </item>
    <item>
      <title>AQS 源码重走：从 Doug Lea 的 CLH 变体到 JDK 21 的完整路径</title>
      <link>https://yaocat.cloud/posts/concurrency/aqsdeepanalysis/</link>
      <pubDate>Sat, 21 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/aqsdeepanalysis/</guid>
      <description>从零搭建 AQS 认知体系：先理解「没有 AQS 时锁怎么写」，再逐层深入 CLH 队列、state 语义、独占/共享模式、条件队列，以及 JDK 8 到 21 的重构动机。每个并发设计都要让读者叹服</description>
    </item>
    <item>
      <title>HashMap 源码十八拷：从 put/get 到红黑树，八股文背后的 JDK 设计逻辑</title>
      <link>https://yaocat.cloud/posts/hashmapdeepread/</link>
      <pubDate>Thu, 19 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/hashmapdeepread/</guid>
      <description>剥开 HashMap 源码，把面试常问的八股文逐个对应到 JDK 实际实现：put/get 链路、hash 扰动、树化阈值、扩容拆分、红黑树退化、多线程安全问题。理解设计动机，面试自然不怕追问</description>
    </item>
    <item>
      <title>从语法迷雾到内存物理本质：C 指针 / Java 引用 / Go 接口 / C&#43;&#43; 类的底层统一模型</title>
      <link>https://yaocat.cloud/posts/os/crosslanguagememoryessence/</link>
      <pubDate>Tue, 17 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/os/crosslanguagememoryessence/</guid>
      <description>CPU 和 RAM 根本不懂面向对象,物理内存里只有「数值」与「地址」。从 C struct 到 C&#43;&#43; class、Java new 对象四部曲、Go 隐式接口、p-next 的物理真相——穿透语法糖，看见内存本质。</description>
    </item>
    <item>
      <title>内存管理的破局者：虚拟地址、物理地址与页表——从哲学追问到公式推导</title>
      <link>https://yaocat.cloud/posts/os/memoryaddresspagetable/</link>
      <pubDate>Sun, 15 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/os/memoryaddresspagetable/</guid>
      <description>虚拟地址和物理地址都是编号，但服务于 CPU 的不同阶段。从「malloc 4MB 但物理内存没少」的疑惑出发，一步步拆解页表、PTE、缺页中断，最终推导出 VA 到 PA 的映射公式。附 Mermaid 硬件结构图和 C 语言实战代码。</description>
    </item>
    <item>
      <title>RocketMQ 存储模型硬核拆解：NameServer → CommitLog → ConsumeQueue 三层架构精析</title>
      <link>https://yaocat.cloud/posts/rocketmq/rocketmqstoragemodel/</link>
      <pubDate>Fri, 13 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rocketmq/rocketmqstoragemodel/</guid>
      <description>RocketMQ 的 Queue 不是 BlockingQueue！三层存储模型拆解：NameServer 只管路标、CommitLog 顺序追加、ConsumeQueue 定长指针。LiteTopic 变化、死信本质、积压三板斧——读完搞懂 RocketMQ 的磁盘文件本质。</description>
    </item>
    <item>
      <title>从 Java/Go 到 React：一个后端程序员的 TypeScript 受难与破壁实录（附 Flutter 做中间翻译器）</title>
      <link>https://yaocat.cloud/posts/frontend/javatscomparison/</link>
      <pubDate>Wed, 11 Oct 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/frontend/javatscomparison/</guid>
      <description>写给 Java/Go 后端程序员：怎么用 Flutter 当「中间翻译器」，把后端的类/接口/线程/阻塞思维平移到 React 的函数组件/Hooks/事件循环。联合类型、交叉类型、泛型默认值、unknown vs any、interface vs type、React 核心 Hooks 对照——读完就能写业务代码。</description>
    </item>
    <item>
      <title>今日日报：Redis Lua 原子脚本与三段式库存模型——从商品表拆出独立库存微服务</title>
      <link>https://yaocat.cloud/posts/dailyloginventorysplit/</link>
      <pubDate>Sun, 09 Jul 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dailyloginventorysplit/</guid>
      <description>从商品表拆出独立库存微服务，Redis Lua 原子脚本解决冻结与扣减的一致性问题，以及 8 个 Feign 客户端模块的自动配置改造</description>
    </item>
    <item>
      <title>BFF 层接口规范化踩坑记：从 Object 到 DTO 的全面改造</title>
      <link>https://yaocat.cloud/posts/bffstandardizationjourney/</link>
      <pubDate>Wed, 05 Jul 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/bffstandardizationjourney/</guid>
      <description>一次 BFF 层的全面改造经验总结：接口规范、ShardingSphere 跨分片查询、CQRS 统计数据取舍、Nacos 服务发现 IP 踩坑</description>
    </item>
    <item>
      <title>admin-bff 接口全面就绪 &#43; 前端功能规划定稿 &#43; 安全统一</title>
      <link>https://yaocat.cloud/posts/adminbffinterfacecomplete/</link>
      <pubDate>Mon, 03 Jul 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/adminbffinterfacecomplete/</guid>
      <description>admin-bff 36个接口全面覆盖前端页面、前端功能规划定稿、RBAC 角色数据初始化、PermitAllProvider 统一配置、7个模块测试通过</description>
    </item>
    <item>
      <title>今日日报：common-web 大重构 &#43; R4 FallbackFactory 自动配置 &#43; 技术枚举落地</title>
      <link>https://yaocat.cloud/posts/dailylog20260714/</link>
      <pubDate>Sat, 01 Jul 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dailylog20260714/</guid>
      <description>common-web 目录整理&#43;注解化控制、R4 FallbackFactory 自动配置消除 scanBasePackages 隐患、7 个技术枚举替代字典表常量、RowsDTO 统一控制器返回类型、B 端订单管理补全</description>
    </item>
    <item>
      <title>今日日报：Nacos 配置统一收敛 &#43; FeignFallbackProxy 降级代理重构 &#43; Resilience4j 落地</title>
      <link>https://yaocat.cloud/posts/dailylog20260712/</link>
      <pubDate>Thu, 29 Jun 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dailylog20260712/</guid>
      <description>11 个服务的 Nacos 配置统一收敛到 common.yaml，FeignFallbackProxy 用 JDK 代理干掉 300 行模板代码，Resilience4j 熔断降级完成配置落地。</description>
    </item>
    <item>
      <title>今日日报：Admin 控制器合并、Swagger 描述优化、Feign 熔断降级体系搭建</title>
      <link>https://yaocat.cloud/posts/dailylog20260711/</link>
      <pubDate>Tue, 27 Jun 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dailylog20260711/</guid>
      <description>mall-admin 控制器从 15 个精简到 7 个，Swagger 接口描述统一标注认证要求与参数，Feign 客户端接入 resilience4j 熔断降级 &#43; 全局 ErrorDecoder &#43; FallbackFactory 降级兜底。</description>
    </item>
    <item>
      <title>全链路修复：微服务 JWT 鉴权踩坑记</title>
      <link>https://yaocat.cloud/posts/dailylogauthchainfix/</link>
      <pubDate>Sun, 25 Jun 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dailylogauthchainfix/</guid>
      <description>SpringUtil 未注册导致全部微服务 500、Gateway 白名单过宽形同虚设、AuthApiInterceptor 强依赖 Redis 使无 Redis 服务崩溃——一套 Spring Cloud 项目 JWT 鉴权链路从根到叶的修复纪实</description>
    </item>
    <item>
      <title>合并与修复：mall-common重构、Nacos恢复、中间件排查</title>
      <link>https://yaocat.cloud/posts/dailylogmergeandfix/</link>
      <pubDate>Fri, 23 Jun 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dailylogmergeandfix/</guid>
      <description>将外部独立维护的五个基础设施Starter合并回主仓库mall-common，同时恢复被误删的Nacos配置，排查ES/MongoDB/Redis连接问题，修复MyBatis ID生成拦截器兜底逻辑</description>
    </item>
    <item>
      <title>今日日报：auth拆分、模块更名、RSA删除、全量编译</title>
      <link>https://yaocat.cloud/posts/dailylogauthsplit/</link>
      <pubDate>Wed, 21 Jun 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dailylogauthsplit/</guid>
      <description>今日日报：auth 模块业务拆分、四组模块更名、RSA 密码加密层删除、全量编译验证</description>
    </item>
    <item>
      <title>Maven Surefire 测试中的 MalformedInputException：当 JVM 默认编码与 Nacos 配置编码不一致时</title>
      <link>https://yaocat.cloud/posts/mavensurefiremalformedinputencoding/</link>
      <pubDate>Mon, 19 Jun 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/mavensurefiremalformedinputencoding/</guid>
      <description>mvn test 执行 Spring Boot 集成测试时 Nacos 配置加载失败，IDE 直接启动却正常。本文从堆栈出发，经 javap 反编译定位到 Spring Cloud Alibaba 中 String.getBytes() 的平台编码陷阱，最终以 maven-surefire-plugin 的 argLine 一行配置修复。</description>
    </item>
    <item>
      <title>把 React &#43; Vite 项目搬到 Electron 去：改造、踩坑与调试</title>
      <link>https://yaocat.cloud/posts/reacttoelectron/</link>
      <pubDate>Wed, 05 Apr 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/reacttoelectron/</guid>
      <description>从零把一个 Vite &#43; React &#43; TypeScript 项目改造成 Electron 桌面应用，涵盖入口文件改造、CJS/ESM 兼容、国内镜像加速、IPC 通信、原生 PDF 导出以及常用调试命令</description>
    </item>
    <item>
      <title>今日日报：文档分组、接口聚合、配置扫描</title>
      <link>https://yaocat.cloud/posts/dailylog20260318/</link>
      <pubDate>Sat, 18 Mar 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dailylog20260318/</guid>
      <description>今日日报：整理 API 文档结构、补全聚合接口、梳理前端调用链、配置扫描</description>
    </item>
    <item>
      <title>微服务文档重构：API 分组、BFF 聚合与文档拆迁</title>
      <link>https://yaocat.cloud/posts/dailylogdocrefactor/</link>
      <pubDate>Thu, 16 Mar 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dailylogdocrefactor/</guid>
      <description>一天之内干了什么：从 Swagger 文档三层分组到 BFF 聚合接口，再到 README 大瘦身——串起来就是一套微服务文档治理的组合拳。</description>
    </item>
    <item>
      <title>Knife4j 文档聚合：微服务里那些「不请自来」的 API 分组</title>
      <link>https://yaocat.cloud/posts/knife4jcrossserviceaggregation/</link>
      <pubDate>Tue, 14 Mar 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/knife4jcrossserviceaggregation/</guid>
      <description>微服务各模块独立部署，Knife4j 的 doc.html 却自动列出来自其他服务的 API 分组——既不是 knife4j 配置问题，也不是 gateway 聚合，翻了一圈源码找到 SpringDoc 的静默注入链路，最后用三层本地配置彻底关掉跨服务干扰。</description>
    </item>
    <item>
      <title>Spring Cloud 微服务接入 BFF 聚合层：从一个混乱的项目重构说起</title>
      <link>https://yaocat.cloud/posts/bff/bffarchitecturepractice/</link>
      <pubDate>Sun, 12 Mar 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/bff/bffarchitecturepractice/</guid>
      <description>手把手给单体拆分的微服务项目搭 BFF（Backend For Frontend）层，让管理后台和移动端各有一个专属 API 入口，告别前端查 9 个文档页面的体验。</description>
    </item>
    <item>
      <title>GitHub Packages 发布 Maven 库：从 Token 配置到 BOM 管理</title>
      <link>https://yaocat.cloud/posts/tools/githubpackagesmavenguide/</link>
      <pubDate>Fri, 10 Mar 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/tools/githubpackagesmavenguide/</guid>
      <description>基于 GitHub Packages 免费托管 Maven 私有仓库，覆盖 Token 配置、POM 设置、多模块发布、版本冲突排查，以及 BOM 依赖管理的完整落地经验。</description>
    </item>
    <item>
      <title>Spring Bean 生命周期与懒加载：从一次 Starter 踩坑说起</title>
      <link>https://yaocat.cloud/posts/spring/springbeanlifecyclelazy/</link>
      <pubDate>Wed, 08 Mar 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/spring/springbeanlifecyclelazy/</guid>
      <description>从一次微服务 Starter 封装中遇到的 @PostConstruct 初始化失败问题切入，通过源码和实验代码梳理 Spring Bean 的生命周期阶段、各个扩展点的执行顺序，以及 @Lazy 懒加载的正确使用姿势。</description>
    </item>
    <item>
      <title>单体拆分微服务：9 个服务踩出来的 7 个典型错误</title>
      <link>https://yaocat.cloud/posts/springcloud/monolithsplitmistakes/</link>
      <pubDate>Mon, 06 Mar 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springcloud/monolithsplitmistakes/</guid>
      <description>接手一套从单体拆分的 Spring Cloud Alibaba 项目，本以为只是熟悉业务，结果发现 9 个服务里藏了 7 个典型拆分错误——从全量包扫描到依赖管理混乱，逐一拆解并给出改进方案。</description>
    </item>
    <item>
      <title>Sentinel Dashboard 容器化部署踩坑全记录：从端口映射到认证配置的血泪史</title>
      <link>https://yaocat.cloud/posts/sentineldashboarddeployment/</link>
      <pubDate>Sat, 04 Mar 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/sentineldashboarddeployment/</guid>
      <description>bladex/sentinel-dashboard 镜像端口硬编码、环境变量无效、配置缺项崩溃、认证死循环，一文汇总 7 大坑的根因与解决方案，附最终可用 Docker Compose 配置</description>
    </item>
    <item>
      <title>Nacos 配置管理实战：config.import 与 bootstrap.yml 的取舍、多环境方案、模板标准化</title>
      <link>https://yaocat.cloud/posts/nacos/nacosconfigimport/</link>
      <pubDate>Thu, 02 Mar 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/nacos/nacosconfigimport/</guid>
      <description>接手 Spring Cloud Alibaba 项目后，从混乱的 Nacos 配置管理中梳理出标准化方案——bootstrap.yml vs config.import 的选型、namespace 多环境隔离、模板占位符标准化，以及配置描述规范的企业级落地经验。</description>
    </item>
    <item>
      <title>接手微服务项目的踩坑与重构：鉴权链路、补偿机制与 API 文档整理</title>
      <link>https://yaocat.cloud/posts/springcloud/microservicescodereview/</link>
      <pubDate>Tue, 28 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springcloud/microservicescodereview/</guid>
      <description>接手一套 Spring Cloud Alibaba 微服务电商项目后，从鉴权链路设计、JWT claims 配置、事务补偿机制到 Swagger 文档分组的全链路排查与修复记录，总结微服务项目常见的架构缺陷与务实解法。</description>
    </item>
    <item>
      <title>Live2D 模型渲染崩溃：游戏提取动作文件的 TotalPointCount 元数据错误排查与修复</title>
      <link>https://yaocat.cloud/posts/live2d/live2d-motion-meta-fix/</link>
      <pubDate>Sun, 26 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/live2d/live2d-motion-meta-fix/</guid>
      <description>游戏提取的 Live2D moc3 模型在网页渲染时频繁崩溃，根因是 motion3.json 中 Meta 段 TotalPointCount 计算错误。记录从报错到定位再到编写自动化修复工具的全过程。</description>
    </item>
    <item>
      <title>B/S架构常见网络攻击与SpringBoot/Cloud防御实践——XSS、CSRF、SQL注入、DDoS与JWT安全的攻防图谱</title>
      <link>https://yaocat.cloud/posts/springsecurity/networkattackdefense/</link>
      <pubDate>Fri, 24 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springsecurity/networkattackdefense/</guid>
      <description>B/S应用面对的五类高频攻击——XSS脚本注入、CSRF跨站伪造、SQL注入、DDoS限流、JWT令牌劫持——每种都配有Mermaid攻击序列图、SpringBoot/Cloud防御代码和SpringSecurity配置。</description>
    </item>
    <item>
      <title>JVM类加载与反射：从Class文件到运行时类的全景——Klass模型、类加载器、Metaspace与反射的桥接机制</title>
      <link>https://yaocat.cloud/posts/jvm/classloadingandreflection/</link>
      <pubDate>Wed, 22 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/jvm/classloadingandreflection/</guid>
      <description>反射凭什么能拿到私有字段和方法签名？答案藏在HotSpot的Klass模型里。本文用7张结构图谱串联类模板、双亲委派、完整加载链路和Metaspace内存布局，一次讲清Class对象与InstanceKlass的双向桥接机制。</description>
    </item>
    <item>
      <title>补偿机制：分布式系统中出事了我兜底的设计哲学——从本地回滚到Saga编排的完整实践</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/compensationmechanism/</link>
      <pubDate>Mon, 20 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/compensationmechanism/</guid>
      <description>补偿机制不是分布式系统的专利——从本地try-finally到跨服务Saga，补偿思维贯穿所有不可靠场景。本文覆盖文件操作、RPC调用、消息消费、分布式事务四大场景的补偿代码，梳理补偿与最终一致性的决策边界，给出可落地的设计清单。</description>
    </item>
    <item>
      <title>微服务拆分套路拆解：BFF 服务于前端的法则与六大拆分原则，以电商为例</title>
      <link>https://yaocat.cloud/posts/architecture/bffmicroservicesplitrules/</link>
      <pubDate>Sat, 18 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/architecture/bffmicroservicesplitrules/</guid>
      <description>微服务拆分中最容易被忽视的就是 BFF 层的边界划分。本文从 BFF 法则出发，结合业务能力、DDD 子域、事务边界、CQRS、变更频率、技术异构六大原则，以经典电商为完整案例，讲清微服务到底怎么切。</description>
    </item>
    <item>
      <title>接口重试的 4 种实现方案：手动重试、Spring Retry、Resilience4j、OpenFeign</title>
      <link>https://yaocat.cloud/posts/retrystrategies/</link>
      <pubDate>Thu, 16 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/retrystrategies/</guid>
      <description>分布式系统中接口调用失败在所难免。本文对比四种重试方案的实现原理和适用场景：手动 try-catch 重试循环、Spring Retry 注解驱动、Resilience4j 重试与断路器组合、OpenFeign 内置重试机制，并总结了幂等性、退避策略、超时控制等关键避坑要点。</description>
    </item>
    <item>
      <title>微服务支付系统全景：从接入第三方到对账结算，一笔钱走完的九九八十一难</title>
      <link>https://yaocat.cloud/posts/payment/paymentsystembusinessguide/</link>
      <pubDate>Tue, 14 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/payment/paymentsystembusinessguide/</guid>
      <description>从支付网关到渠道对接再到对账结算，逐模块拆解一个生产级支付系统需要哪些组件、每条钱流怎么走、以及那些踩过才知道的坑——面向业务理解的支付全景指南。</description>
    </item>
    <item>
      <title>四种限流算法在 Spring Cloud Gateway 中的实现：固定窗口、滑动窗口、漏桶、令牌桶</title>
      <link>https://yaocat.cloud/posts/gateway/gatewayratelimitalgorithms/</link>
      <pubDate>Sun, 12 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/gateway/gatewayratelimitalgorithms/</guid>
      <description>从零实现四种主流限流算法并集成到 Spring Cloud Gateway：固定窗口的粗暴、滑动窗口的平滑、漏桶的匀速、令牌桶的弹性——每种算法都有可运行的代码和流程图解，附带 Redis&#43;Lua 分布式限流方案。</description>
    </item>
    <item>
      <title>Go Runtime vs JVM：调度、GC、反射全方位对比</title>
      <link>https://yaocat.cloud/posts/go/goruntimejvm/</link>
      <pubDate>Fri, 10 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/go/goruntimejvm/</guid>
      <description>Go 二进制跑起来只占 4MB 内存，JVM 还没加载完类就已经吃了几百 MB。goroutine 和 JVM 线程到底差在哪？Go GC 和 G1/ZGC 哪个更合适？Go 的反射为什么比 Java 慢？JIT 和 AOT 编译对性能影响有多大？本文从运行时底层把 Go 和 JVM 的差异讲清楚。</description>
    </item>
    <item>
      <title>Go Web 开发全栈：从 Gin 到微服务</title>
      <link>https://yaocat.cloud/posts/go/gowebdevelopment/</link>
      <pubDate>Wed, 08 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/go/gowebdevelopment/</guid>
      <description>Spring Boot 里有 @Autowired、@Controller、application.yml——到了 Go 这边全没了。Gin 和 Spring Boot 怎么对应？go-zero 和 Spring Cloud 是什么关系？依赖注入怎么搞？gRPC 怎么替代 OpenFeign？本文用 Spring Boot 用户的视角，把 Go Web 开发的技术栈一次讲清楚。</description>
    </item>
    <item>
      <title>Go 网络编程与 IO 模型</title>
      <link>https://yaocat.cloud/posts/go/gonetworking/</link>
      <pubDate>Mon, 06 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/go/gonetworking/</guid>
      <description>Go 的 net/http 凭什么比 Netty 还简洁？netpoll 是怎么工作的？阻塞 IO、非阻塞 IO、IO 多路复用到底差在哪？本文用 Java NIO/Netty 的经验来理解 Go 的网络模型，包含完整的代码对比和 netpoller 原理解析。</description>
    </item>
    <item>
      <title>Go 并发编程：Goroutine、Channel 与 CSP 模型</title>
      <link>https://yaocat.cloud/posts/go/goconcurrency/</link>
      <pubDate>Sat, 04 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/go/goconcurrency/</guid>
      <description>goroutine 到底比 Java 线程轻量在哪？CSP 模型怎么替代你的 BlockingQueue？select 怎么写超时控制？GMP 调度器如何支撑百万协程？本文用 Java 线程池/Virtual Thread 的经验来理解 Go 并发，附带有栈协程 vs 线程 vs 协程的图解。</description>
    </item>
    <item>
      <title>Java vs Go 语法快速对比</title>
      <link>https://yaocat.cloud/posts/go/javavsgosyntax/</link>
      <pubDate>Thu, 02 Feb 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/go/javavsgosyntax/</guid>
      <description>从 Java 程序员视角快速上手 Go 语法：变量声明、函数多返回值、defer 资源清理、error 返回值 vs exception、struct vs class、go mod vs Maven 命令对照。每节都有 Java/Go 代码对比例子，看完就能写 Go。</description>
    </item>
    <item>
      <title>Go 语言历史与设计哲学</title>
      <link>https://yaocat.cloud/posts/go/godesignphilosophy/</link>
      <pubDate>Tue, 31 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/go/godesignphilosophy/</guid>
      <description>Go 语言诞生于 Google 内部对 C&#43;&#43; 工程效率的不满，三位大佬用 25 个关键字和 goroutine 重新定义了系统编程。本文从 Java 程序员的视角，带你理解 Go 的设计哲学——隐式接口、组合优于继承、CSP 并发，以及为什么没有 class 和 try-catch。</description>
    </item>
    <item>
      <title>统一开发团队的流水线哲学</title>
      <link>https://yaocat.cloud/posts/cicd/devplatformmicroservicecollaboration/</link>
      <pubDate>Sun, 29 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/cicd/devplatformmicroservicecollaboration/</guid>
      <description>从.gitlab-ci.yml和Dockerfile的编写规范出发，结合IDP平台化治理思路，聊聊微服务环境下多人协作的工程实践。</description>
    </item>
    <item>
      <title>SpringCloud微服务测试实战</title>
      <link>https://yaocat.cloud/posts/springcloud/springcloudmicroservicetesting/</link>
      <pubDate>Thu, 26 Jan 2023 04:01:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springcloud/springcloudmicroservicetesting/</guid>
      <description>SpringCloud微服务环境下，测试用例的分层策略、完整代码示例、个人全量测试流程，以及对AI辅助编写测试的未来展望</description>
    </item>
    <item>
      <title>从写完代码到上线运行</title>
      <link>https://yaocat.cloud/posts/springcloud/springbootcicdpipeline/</link>
      <pubDate>Wed, 25 Jan 2023 03:43:21 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springcloud/springbootcicdpipeline/</guid>
      <description>从本地测试到生产环境上线，SpringBoot微服务CI/CD每个环节的完整脚本、配置和避坑指南</description>
    </item>
    <item>
      <title>Dapper 模型：TraceId 与 SpanId 的传播之道</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/dappertraceidspanidpropagation/</link>
      <pubDate>Tue, 24 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/dappertraceidspanidpropagation/</guid>
      <description>从 Google 内部一个慢请求到底卡在哪个服务上的排查噩梦出发，拆解 Dapper 论文的核心模型——TraceId 串联全局、SpanId 标记每一步、父子关系重建调用树，以及 SkyWalking 如何自动埋点实现无侵入追踪</description>
    </item>
    <item>
      <title>负载均衡三剑客：加权随机、最少活跃与一致性哈希</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/loadbalancingweightedrandomleastactiveconsistenthash/</link>
      <pubDate>Mon, 23 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/loadbalancingweightedrandomleastactiveconsistenthash/</guid>
      <description>从早期 CDN 缓存分发的难题出发，拆解三种负载均衡算法的设计思路——加权随机按比例分配、最少活跃挑最闲的、一致性哈希让节点增减时只影响邻近数据</description>
    </item>
    <item>
      <title>事务消息：半消息与回查</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/transactionalmessagehalfmessageandcheckback/</link>
      <pubDate>Sun, 22 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/transactionalmessagehalfmessageandcheckback/</guid>
      <description>从&amp;#39;数据库写入和消息发送无法原子化&amp;#39;的经典难题出发，拆解事务消息的核心机制——半消息如何暂存而不投递、回查如何兜底确保最终一致，以及它和 2PC/TCC 在不同场景下的分工</description>
    </item>
    <item>
      <title>分布式事务：两阶段提交与 TCC</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/distributedtransaction2pcandtcc/</link>
      <pubDate>Sat, 21 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/distributedtransaction2pcandtcc/</guid>
      <description>从单体拆分微服务后&amp;#39;跨库事务&amp;#39;的难题出发，拆解 2PC 和 TCC 两种分布式事务算法的设计思路——准备阶段与提交阶段、Try-Confirm-Cancel 预留资源模式，以及 Seata 如何用 AT 模式和 TCC 模式分别实现它们</description>
    </item>
    <item>
      <title>流控算法三件套：滑动窗口、漏桶与令牌桶</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/slidingwindowleakybuckettokenbucket/</link>
      <pubDate>Fri, 20 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/slidingwindowleakybuckettokenbucket/</guid>
      <description>从早期互联网的拥塞崩溃出发，拆解三种流控算法的设计思路——滑动窗口统计QPS、漏桶匀速排水、令牌桶允许突发，以及 Sentinel 如何组合使用它们</description>
    </item>
    <item>
      <title>Raft 协议：选举、日志复制与强一致</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/raftprotocol/</link>
      <pubDate>Thu, 19 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/raftprotocol/</guid>
      <description>从 Paxos 太难懂的痛点出发，拆解 Raft 协议如何用多数派机制实现 CP 模型——领导者选举、日志复制、安全保证，以及为什么配置中心需要强一致</description>
    </item>
    <item>
      <title>Distro 协议：去中心化与最终一致</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/distroprotocol/</link>
      <pubDate>Wed, 18 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/distroprotocol/</guid>
      <description>从微服务注册中心的难题出发，拆解 Distro 协议如何用去中心化设计实现 AP 模型——没有主节点的集群、异步同步与反熵修复，以及它和 Raft 在同一套系统里的分工</description>
    </item>
    <item>
      <title>Redis 高可用架构：主从、哨兵、集群与分片</title>
      <link>https://yaocat.cloud/posts/redis/redishaconcepts/</link>
      <pubDate>Tue, 17 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/redis/redishaconcepts/</guid>
      <description>从开发者视角厘清 Redis 主从复制、哨兵模式、集群模式和分布式分片键的核心概念——关注架构原理和开发注意事项，而非运维部署细节。</description>
    </item>
    <item>
      <title>时序数据库在物联网日志系统中的设计与实践</title>
      <link>https://yaocat.cloud/posts/database/time-series-database-iot-springboot/</link>
      <pubDate>Mon, 16 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/database/time-series-database-iot-springboot/</guid>
      <description>从数据结构层面对比时序数据库与关系型数据库的差异，介绍国产主流时序数据库，并以TDengine和IoTDB为例演示Spring Boot集成实践。</description>
    </item>
    <item>
      <title>七牛云 OSS &#43; SMTP 邮件：两个轻量级第三方接入实战</title>
      <link>https://yaocat.cloud/posts/third-party/qiniuossemailintegration/</link>
      <pubDate>Sun, 15 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/third-party/qiniuossemailintegration/</guid>
      <description>从零接入七牛云对象存储（图片/文件上传 &#43; CDN）和 SMTP 邮件服务（Freemarker 模板邮件 &#43; 发送开关），两个轻量第三方接入，一篇文章搞定。</description>
    </item>
    <item>
      <title>支付宝支付接入：沙箱调试 &#43; EasySDK &#43; QR 码支付实战</title>
      <link>https://yaocat.cloud/posts/third-party/alipaypaymentintegration/</link>
      <pubDate>Sat, 14 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/third-party/alipaypaymentintegration/</guid>
      <description>从零接入支付宝当面付：沙箱环境零成本调试、RSA2 密钥配置、EasySDK 扫码支付、MockPay 开发模式，附带真实商城项目的完整集成代码。</description>
    </item>
    <item>
      <title>阿里云短信接入：双 Provider &#43; Mock 验证码实战</title>
      <link>https://yaocat.cloud/posts/third-party/aliyunsmsintegration/</link>
      <pubDate>Fri, 13 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/third-party/aliyunsmsintegration/</guid>
      <description>从零接入阿里云短信服务：dysmsapi 官方 SDK &#43; dypnsapi 个人测试双 Provider 切换、Mock 验证码开发模式、Redis 发送频率控制，手把手带你绕过官方文档的坑。</description>
    </item>
    <item>
      <title>Flyway 数据库迁移：告别手工执行 SQL 脚本</title>
      <link>https://yaocat.cloud/posts/database/flywaymigrationguide/</link>
      <pubDate>Thu, 12 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/database/flywaymigrationguide/</guid>
      <description>从 Mall 项目 38 个手工 SQL 脚本的真实痛点出发，手把手集成 Flyway 实现 DDL 版本化管理，深入讲解为什么需要追踪跑过哪些 DDL，以及 Flyway 内部执行机制。</description>
    </item>
    <item>
      <title>Knife4j 接口文档从配置到上线</title>
      <link>https://yaocat.cloud/posts/swagger/knife4jswaggerguide/</link>
      <pubDate>Wed, 11 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/swagger/knife4jswaggerguide/</guid>
      <description>基于 Mall 商城项目的 Knife4j &#43; Swagger 接口文档实战教程，从依赖引入到分组配置，手把手教你生成可交互的 API 文档。</description>
    </item>
    <item>
      <title>一个商城项目的结构化日志改造实录</title>
      <link>https://yaocat.cloud/posts/monitoring/structuredloggingguide/</link>
      <pubDate>Tue, 10 Jan 2023 12:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/monitoring/structuredloggingguide/</guid>
      <description>以真实商城项目的日志审计和修复过程为主线，手把手教新人写出可被监控、可被检索、不丢异常栈的结构化日志。</description>
    </item>
    <item>
      <title>第4步：开发者 K8s 全景图 —— Ingress、Helm 和你的职责边界</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8sdeveloperpanorama/</link>
      <pubDate>Mon, 09 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8sdeveloperpanorama/</guid>
      <description>掌握 Ingress 七层路由、Helm 包管理、本地 K8s 环境选型、高级资源速览，并理清开发者与运维的职责边界</description>
    </item>
    <item>
      <title>第3步：kubectl 生存手册 —— 开发者每天必敲的命令</title>
      <link>https://yaocat.cloud/posts/kubernetes/kubectlsurvivalmanual/</link>
      <pubDate>Sun, 08 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/kubectlsurvivalmanual/</guid>
      <description>掌握开发者日常必备的 kubectl 命令：get、describe、logs、exec、port-forward、rollout，以及 9 种 Pod 异常状态的完整排查流程</description>
    </item>
    <item>
      <title>第2步：让 Pod 活得久一点 —— 探针、资源和配置注入实战</title>
      <link>https://yaocat.cloud/posts/kubernetes/podsurvivalguide/</link>
      <pubDate>Sat, 07 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/podsurvivalguide/</guid>
      <description>深入掌握 liveness/readiness/startup 探针、CPU/内存限制、环境变量三种注入方式、存储挂载——让 Pod 不再动不动就 CrashLoop</description>
    </item>
    <item>
      <title>第1步：写出你的第一个 K8s 应用</title>
      <link>https://yaocat.cloud/posts/kubernetes/firstk8sapplication/</link>
      <pubDate>Fri, 06 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/firstk8sapplication/</guid>
      <description>从零写出第一个完整的 K8s 应用：Deployment &#43; Service &#43; ConfigMap &#43; Secret，搞懂每一行 YAML 是什么意思</description>
    </item>
    <item>
      <title>第0步：Docker 是什么，K8s 为什么要存在</title>
      <link>https://yaocat.cloud/posts/kubernetes/k8sfoundationconcepts/</link>
      <pubDate>Thu, 05 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/k8sfoundationconcepts/</guid>
      <description>从零开始理解容器和 Kubernetes：Image、Container、Pod、Deployment、Service 这些概念到底是什么，它们之间什么关系，K8s 架构长什么样</description>
    </item>
    <item>
      <title>流控三板斧——Sentinel滑动窗口、令牌桶与Dubbo负载均衡</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/flowcontrolalgorithms/</link>
      <pubDate>Wed, 04 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/flowcontrolalgorithms/</guid>
      <description>限流不只是&amp;#39;每秒只能通过 100 个请求&amp;#39;——固定窗口的边界突刺、滑动窗口的平滑统计、令牌桶的预热与排队、一致性哈希在节点增减时的最小迁移——讲清楚 Sentinel 和 Dubbo 中流控与负载均衡算法的原理与取舍。</description>
    </item>
    <item>
      <title>谁说了算——Raft选举、心跳与故障检测在Nacos/Dubbo中的应用</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/raftelectionandheartbeat/</link>
      <pubDate>Tue, 03 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/raftelectionandheartbeat/</guid>
      <description>Raft 不是只有论文里的状态机。从 Nacos 配置中心的 CP 选主、到 Nacos 注册中心的 AP 心跳、再到 Dubbo 的服务上下线感知——讲清楚领导者选举、心跳机制和故障检测在日常中间件中到底是怎么用的。</description>
    </item>
    <item>
      <title>CAP定理与一致性模型——从Nacos AP/CP双模理解取舍</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/captheoremandconsistency/</link>
      <pubDate>Mon, 02 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/captheoremandconsistency/</guid>
      <description>CAP 不是三选二的复选框游戏——P 是前提，C 和 A 之间是光谱而不是开关。用 Nacos 的 Distro 与 Raft 双模、Redis Cluster 的异步复制、Kafka 的 ISR 机制——讲清楚一致性到底是什么，以及为什么每个中间件都在一致性光谱上选择了不同的位置。</description>
    </item>
    <item>
      <title>如果网络会骗你，时钟也会骗你——分布式世界的两个不确定性</title>
      <link>https://yaocat.cloud/posts/distributed-algorithms/distributeduncertainty/</link>
      <pubDate>Sun, 01 Jan 2023 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-algorithms/distributeduncertainty/</guid>
      <description>分布式系统的所有复杂设计——从心跳到共识——都源于两个根本问题：网络不可靠，时钟不可信。用图解讲清楚两将军问题的理论困境、NTP 为什么不能给你准确时间、以及为什么最终总是要做取舍。</description>
    </item>
    <item>
      <title>MySQL 实战优化：从 EXPLAIN 到 NULL 陷阱</title>
      <link>https://yaocat.cloud/posts/mysql/mysqlpracticaloptimization/</link>
      <pubDate>Sat, 31 Dec 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/mysql/mysqlpracticaloptimization/</guid>
      <description>面向日常开发的 MySQL 优化实战：EXPLAIN 字段逐一解读、索引优化三板斧、SQL 改写技巧、慢查询定位，以及 UNIQUE 多 NULL、COUNT/NOT IN 等经典 NULL 陷阱的彻底拆解。</description>
    </item>
    <item>
      <title>MySQL 锁与日志系统：从并发控制到崩溃恢复</title>
      <link>https://yaocat.cloud/posts/mysql/mysqllockandlog/</link>
      <pubDate>Fri, 30 Dec 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/mysql/mysqllockandlog/</guid>
      <description>拆解 InnoDB 六种锁类型（Record/Gap/Next-Key/意向锁）、死锁检测机制、Redo Log 与 Binlog 的两阶段提交过程，以及崩溃恢复如何利用日志保证数据不丢。</description>
    </item>
    <item>
      <title>事务消息 &#43; 本地消息表 &#43; 生产踩坑</title>
      <link>https://yaocat.cloud/posts/distributed-transaction/dtmessageandproduction/</link>
      <pubDate>Fri, 30 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-transaction/dtmessageandproduction/</guid>
      <description>事务消息（RocketMQ 半消息 &#43; 回查）和本地消息表是异步分布式事务的两大利器——代码侵入最小、性能最好。本文从 Seata AT/TCC/Saga 的同步瓶颈出发，讲清楚半消息的完整生命周期、回查机制的实现细节、本地消息表的状态机设计、幂等消费的 3 种方案（唯一索引 &#43; Redis &#43; 版本号）、RocketMQ 事务消息的完整搭建与集成代码、以及四大方案（AT/TCC/Saga/事务消息）的生产踩坑总结——空回滚、悬挂、超时碰撞、消息堆积、补偿死循环——一个都跑不掉。</description>
    </item>
    <item>
      <title>MySQL 事务与 MVCC：多版本并发控制的完整原理</title>
      <link>https://yaocat.cloud/posts/mysql/mysqltransactionmvcc/</link>
      <pubDate>Thu, 29 Dec 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/mysql/mysqltransactionmvcc/</guid>
      <description>从四种隔离级别出发，深入拆解 MVCC 的隐藏列、Undo Log 版本链、ReadView 可见性判断，以及 RC 与 RR 在 MVCC 下的实现差异，配合 HTML&#43;CSS 结构图和 draw.io 流程图讲透多版本并发控制。</description>
    </item>
    <item>
      <title>TCC &#43; Saga——补偿型分布式事务</title>
      <link>https://yaocat.cloud/posts/distributed-transaction/dttccsaga/</link>
      <pubDate>Thu, 29 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-transaction/dttccsaga/</guid>
      <description>TCC 和 Saga 的完整落地：为什么 AT 搞不定&amp;#39;发优惠券&amp;#39;这种操作（第三方 API 无法自动回滚）、TCC 的 Try/Confirm/Cancel 三阶段——每个接口写三套逻辑、空回滚和悬挂的成因与解决（操作记录的幂等表）、Seata TCC 模式代码实战（@TwoPhaseBusinessAction 注解）、Saga 的编排型（orchestration）vs 协同型（choreography）——状态机驱动补偿链——以及 TCC vs Saga 的选型决策框架。</description>
    </item>
    <item>
      <title>MySQL Join 原理：B&#43;树上的表连接</title>
      <link>https://yaocat.cloud/posts/mysql/mysqljoinonbplustree/</link>
      <pubDate>Wed, 28 Dec 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/mysql/mysqljoinonbplustree/</guid>
      <description>从 Nested-Loop Join 到 Hash Join，深入拆解四种 Join 算法在 B&#43;树上的执行过程，讲清 INNER/LEFT/RIGHT Join 的数据流差异，以及小表驱动大表的选择原理。</description>
    </item>
    <item>
      <title>Seata AT 模式——undo_log 与二阶段原理</title>
      <link>https://yaocat.cloud/posts/distributed-transaction/dtseataat/</link>
      <pubDate>Wed, 28 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-transaction/dtseataat/</guid>
      <description>Seata AT 模式完整落地：TC（Seata Server）/ TM / RM 三角架构、undo_log 表做了什么——一阶段保存前置镜像、二阶段提交时删除/回滚时还原、全局锁（global_lock）的写隔离原理、Seata Server Docker Compose 搭建（Nacos 注册 &#43; MySQL 存储）、order-service &#43; product-service &#43; account-service 完整集成代码——以及 AT 模式的三个限制（仅支持关系型数据库、不支持跨 SQL 查询、性能开销 5%-15%）。</description>
    </item>
    <item>
      <title>MySQL B&#43;树索引体系</title>
      <link>https://yaocat.cloud/posts/mysql/mysqlbplustreeindexsystem/</link>
      <pubDate>Tue, 27 Dec 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/mysql/mysqlbplustreeindexsystem/</guid>
      <description>从数据结构演进到 InnoDB 页结构，再到聚簇索引、联合索引、SQL执行路径、范围/模糊/分页查询在 B&#43; 树上的完整呈现，8~10 张图讲透 MySQL B&#43;树索引体系。</description>
    </item>
    <item>
      <title>分布式事务本质——CAP、BASE 与四大方案</title>
      <link>https://yaocat.cloud/posts/distributed-transaction/dtfundamentals/</link>
      <pubDate>Tue, 27 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/distributed-transaction/dtfundamentals/</guid>
      <description>分布式事务的本质不是背八股文中的 CAP——搞懂为什么 @Transactional 在微服务中失效、CAP 到底在说什么（P 是前提——只能在 C 和 A 之间取舍——但实际情况是&amp;#39;不同程度的取舍&amp;#39;——不是二选一）、BASE 最终一致性的核心——补偿而不是回滚、XA 两阶段提交为什么不能用（性能黑洞 &#43; 单点故障）、四种方案的本质区别（XA-同步回滚 / AT-自动补偿 / TCC-手动补偿 / Saga-长事务编排 / 事务消息-异步确保）——以及选型决策框架。</description>
    </item>
    <item>
      <title>GitLab CI/CD 多环境部署与生产实践</title>
      <link>https://yaocat.cloud/posts/cicd/gitlabcicdproduction/</link>
      <pubDate>Mon, 26 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/cicd/gitlabcicdproduction/</guid>
      <description>多环境 CI/CD 完整落地：dev（自动部署）→ staging（自动部署 &#43; 自动化测试）→ prod（人工审批 &#43; 手动触发）、GitLab Environments 管理部署历史与一键回滚、K8s Deployment 滚动更新集成、环境变量分层管理（CI Variables &#43; ConfigMap &#43; Secret）、Helm 简化部署模板、审批卡点（Manual Action）、部署后自动健康检查——以及版本回滚的三种方式、发布规范与 Checklist。</description>
    </item>
    <item>
      <title>GitLab CI/CD 流水线实战——编译、扫描、构建镜像、推送仓库</title>
      <link>https://yaocat.cloud/posts/cicd/gitlabcicdpipeline/</link>
      <pubDate>Sun, 25 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/cicd/gitlabcicdpipeline/</guid>
      <description>完整的微服务 CI/CD 流水线：Maven 编译 → JUnit 单元测试 &#43; GitLab 测试报告展示 → SonarQube 代码质量扫描 &#43; Quality Gate 拦截 → Docker 构建镜像（Docker-in-Docker） → 推送到 Harbor 私有镜像仓库 → 多模块 Maven 项目的策略（逐个构建 vs 全量构建）——以及 Runner 内存不足、Docker 缓存层优化等实战踩坑。</description>
    </item>
    <item>
      <title>GitLab CI/CD 搭建与 Pipeline 语法精讲</title>
      <link>https://yaocat.cloud/posts/cicd/gitlabcicdfundamentals/</link>
      <pubDate>Sat, 24 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/cicd/gitlabcicdfundamentals/</guid>
      <description>从零搭建 GitLab CI/CD：GitLab &#43; Runner Docker Compose 部署、Runner 注册与执行原理（shell vs docker executor）、.gitlab-ci.yml 语法精讲（stages/jobs/script/cache/artifacts/variables/needs/rules）、预定义变量（CI_COMMIT_SHA 等）、制品传递原理、Maven 依赖缓存策略——以及第一个可运行的 Pipeline：编译 → 跑单测 → 看绿色对号。</description>
    </item>
    <item>
      <title>DDD 重构实战——什么时候该用 DDD？什么时候 MVC 就够了？</title>
      <link>https://yaocat.cloud/posts/ddd/dddrefactor/</link>
      <pubDate>Fri, 23 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/ddd/dddrefactor/</guid>
      <description>用 DDD 重构已有微服务的完整实战：order-service 从 800 行 Service 拆成 Application Service &#43; Domain Service &#43; 聚合根 &#43; Repository、user-service 为什么不需要 DDD（MVC 就够了）、DDD vs MVC 的决策框架——看复杂度而非跟风——以及重构的三个切入策略：从哪里开始、什么时候停、什么情况下不要用 DDD。</description>
    </item>
    <item>
      <title>DDD 战术落地——代码怎么写</title>
      <link>https://yaocat.cloud/posts/ddd/dddtactical/</link>
      <pubDate>Thu, 22 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/ddd/dddtactical/</guid>
      <description>DDD 战术落地的完整代码实现：四层项目结构（interfaces/application/domain/infrastructure）、聚合根完整设计（业务方法 &#43; 不变量 &#43; 领域事件收集）、Repository 接口放在 domain 层——实现在 infrastructure 层、Domain Service vs Application Service 的黄金判断标准——逻辑归谁、防腐层（ACL）隔离外部系统、领域事件的事务性发布与异步消费、Factory 封装复杂创建——以及一个完整的&amp;#39;创建订单&amp;#39;端到端实现。</description>
    </item>
    <item>
      <title>DDD 本质——领域驱动设计的核心概念</title>
      <link>https://yaocat.cloud/posts/ddd/dddfundamentals/</link>
      <pubDate>Wed, 21 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/ddd/dddfundamentals/</guid>
      <description>DDD 的本质不是背概念——搞懂贫血模型为什么导致代码腐烂、实体 vs 值对象的真正区别（标识符相等 vs 属性相等）、聚合根作为一致性边界（不能跨聚合直接改数据）、限界上下文的隔离落地（User 在订单上下文中不是同一个东西）、领域事件作为&amp;#39;已发生的事实&amp;#39;驱动业务流转——以及战略设计（划分上下文）和战术设计（写聚合根/Repository）的落地方法。</description>
    </item>
    <item>
      <title>SkyWalking 中间件集成与链路分析实战</title>
      <link>https://yaocat.cloud/posts/skywalking/skywalkingproduction/</link>
      <pubDate>Tue, 20 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/skywalking/skywalkingproduction/</guid>
      <description>SkyWalking 生产实战：Gateway/Dubbo/OpenFeign/gRPC/Sentinel 所有中间件的链路追踪配置、自定义业务 Span 和 @Trace 注解、异步任务和 MQ 追踪、日志通过 TraceId 关联——ELK &#43; SkyWalking 联合排错、gRPC 手动埋点、性能剖析（慢端点识别 &#43; 调用树分析）、性能开销实测、集群部署、生产检查清单。</description>
    </item>
    <item>
      <title>SkyWalking 分布式链路追踪——从零搭建 APM 平台</title>
      <link>https://yaocat.cloud/posts/skywalking/skywalkingfundamentals/</link>
      <pubDate>Mon, 19 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/skywalking/skywalkingfundamentals/</guid>
      <description>从零搭建 SkyWalking 分布式链路追踪：Trace/Span/Segment 核心概念、Agent 无侵入自动埋点原理、OAP &#43; UI &#43; Elasticsearch 架构、Docker Compose 一键部署、全局调用拓扑图、单条链路完整追踪、慢查询自动识别——以及 SkyWalking 与 Prometheus 的互补关系：指标告诉你&amp;#39;出问题了&amp;#39;，链路告诉你&amp;#39;为什么出问题&amp;#39;。</description>
    </item>
    <item>
      <title>所有中间件指标接入 Prometheus——统一仪表盘实战</title>
      <link>https://yaocat.cloud/posts/monitoring/prometheusmiddleware/</link>
      <pubDate>Sun, 18 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/monitoring/prometheusmiddleware/</guid>
      <description>将 Spring Cloud Gateway、Sentinel、Nacos、Dubbo、OpenFeign、gRPC 六种中间件的指标全部接入 Prometheus——每个中间件的指标暴露配置、关键指标解读——以及在一张 Grafana 仪表盘上构建&amp;#39;微服务全景图&amp;#39;：QPS/RT/错误率/中间件健康状态一目了然，附带分级告警规则。</description>
    </item>
    <item>
      <title>Prometheus &#43; Grafana 环境搭建与指标采集</title>
      <link>https://yaocat.cloud/posts/monitoring/prometheusgrafanafundamentals/</link>
      <pubDate>Sat, 17 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/monitoring/prometheusgrafanafundamentals/</guid>
      <description>从零搭建微服务监控体系：Prometheus pull 模型原理、四种指标类型（Counter/Gauge/Histogram/Summary）、Spring Boot Actuator &#43; Micrometer 打点实战、JVM 指标解读、自定义业务指标、PromQL 查询语法——以及 Grafana 接入 Prometheus 构建第一个仪表盘。</description>
    </item>
    <item>
      <title>Nacos 集群与生产部署——中间件整合总览</title>
      <link>https://yaocat.cloud/posts/nacos/nacosproduction/</link>
      <pubDate>Fri, 16 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/nacos/nacosproduction/</guid>
      <description>Nacos 集群部署全方案：三节点 Nacos &#43; MySQL 集群 Raft 共识、Docker Compose 一键启动、Prometheus &#43; Grafana 监控、JVM 调优——以及最重要的——Dubbo/OpenFeign/gRPC/Gateway/Sentinel 五种中间件如何通过 Nacos 串联成一个完整的微服务体系，附带总览架构图和 12 项生产 Checklist。</description>
    </item>
    <item>
      <title>Nacos 配置中心全操作</title>
      <link>https://yaocat.cloud/posts/nacos/nacosconfigcenter/</link>
      <pubDate>Thu, 15 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/nacos/nacosconfigcenter/</guid>
      <description>Nacos 配置中心完整操作指南：配置优先级（shared-configs &amp;gt; extension-configs &amp;gt; 本地）、多服务共享配置抽取公共配置、@RefreshScope 动态刷新原理与陷阱、灰度发布配置（标签路由）、Gateway 路由规则放 Nacos 动态生效、Sentinel 规则持久化到 Nacos——附带多服务配置组织最佳实践。</description>
    </item>
    <item>
      <title>Nacos 服务发现深度解析</title>
      <link>https://yaocat.cloud/posts/nacos/nacosservicediscovery/</link>
      <pubDate>Wed, 14 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/nacos/nacosservicediscovery/</guid>
      <description>Nacos 服务发现完整拆解：注册流程全景（心跳/剔除/自保）、临时实例 vs 持久实例（AP vs CP）、健康检查机制、保护阈值原理、本地缓存兜底——以及 Dubbo/OpenFeign/gRPC 三种 RPC 如何通过 Nacos 发现服务的完整配置。</description>
    </item>
    <item>
      <title>Nacos 核心概念与快速上手</title>
      <link>https://yaocat.cloud/posts/nacos/nacosfundamentals/</link>
      <pubDate>Tue, 13 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/nacos/nacosfundamentals/</guid>
      <description>从零理解 Nacos：为什么它一个组件能替代 Eureka &#43; Config &#43; Bus？服务发现和配置中心的核心概念、AP/CP 模式切换（何时选 AP 何时选 CP）、namespace/group/dataId 三级隔离体系——读完部署第一个 Nacos 并跑通服务注册和动态配置刷新。</description>
    </item>
    <item>
      <title>OpenFeign 生产实战——Nacos &#43; Sentinel &#43; 性能调优</title>
      <link>https://yaocat.cloud/posts/openfeign/openfeignproduction/</link>
      <pubDate>Mon, 12 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/openfeign/openfeignproduction/</guid>
      <description>OpenFeign 生产环境完整方案：Nacos 服务发现（零 URL 硬编码）、Sentinel 熔断降级（Feign 专用 fallback）、Contract 契约优先设计（共享接口模块消除 DTO 不一致）、Gzip 压缩 &#43; 连接池调优 &#43; 异步并发优化——附带 Feign vs Dubbo vs gRPC 终极选型指南。</description>
    </item>
    <item>
      <title>OpenFeign 进阶——配置、拦截器与容错</title>
      <link>https://yaocat.cloud/posts/openfeign/openfeignadvanced/</link>
      <pubDate>Sun, 11 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/openfeign/openfeignadvanced/</guid>
      <description>OpenFeign 进阶全操作：超时/重试/连接池配置、RequestInterceptor 自动传递鉴权 Header 和 TraceId、日志级别、自定义 ErrorDecoder、FallbackFactory 降级——从能调到调得稳、调得快、调得安心。</description>
    </item>
    <item>
      <title>OpenFeign 核心概念与快速上手</title>
      <link>https://yaocat.cloud/posts/openfeign/openfeignfundamentals/</link>
      <pubDate>Sat, 10 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/openfeign/openfeignfundamentals/</guid>
      <description>从零理解 OpenFeign：声明式 HTTP 客户端如何让微服务调用像本地方法一样简单？@FeignClient 注解、接口即契约的无侵入设计、与 RestTemplate 的对比、第一个 OpenFeign 项目——读完就知道为什么微服务拆分第一步是 Feign 而不是 Dubbo。</description>
    </item>
    <item>
      <title>Sentinel 系统规则与生产部署</title>
      <link>https://yaocat.cloud/posts/sentinel/sentinelproduction/</link>
      <pubDate>Fri, 09 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/sentinel/sentinelproduction/</guid>
      <description>Sentinel 生产环境完整方案：系统自适应保护（Load/CPU/RT/QPS/线程数）、Gateway 集成 Sentinel 限流、热点参数限流、规则持久化到 Nacos（重启不丢失）、Dashboard 集群部署、Prometheus 指标对接——附带 10 项生产 Checklist。</description>
    </item>
    <item>
      <title>Sentinel 熔断降级规则</title>
      <link>https://yaocat.cloud/posts/sentinel/sentineldegrade/</link>
      <pubDate>Thu, 08 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/sentinel/sentineldegrade/</guid>
      <description>Sentinel 熔断降级规则深度拆解：三种熔断策略（慢调用比例/异常比例/异常数）、熔断器状态机（CLOSED→OPEN→HALF_OPEN）、blockHandler vs fallback 的精确区分、与 Hystrix/Resilience4j 的熔断对比——附带完整的熔断恢复时间线图示。</description>
    </item>
    <item>
      <title>Sentinel 流控规则全解</title>
      <link>https://yaocat.cloud/posts/sentinel/sentinelflowcontrol/</link>
      <pubDate>Wed, 07 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/sentinel/sentinelflowcontrol/</guid>
      <description>Sentinel 流控规则彻底讲透：QPS 限流 vs 线程数限流、三种流控效果（快速失败/WarmUp 预热/排队等待）、三种流控策略（直接/关联/链路）——每一条都有代码示例和 Dashboard 演示——附带流控规则调试指南。</description>
    </item>
    <item>
      <title>Sentinel 核心概念与快速上手</title>
      <link>https://yaocat.cloud/posts/sentinel/sentinelfundamentals/</link>
      <pubDate>Tue, 06 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/sentinel/sentinelfundamentals/</guid>
      <description>从零理解 Sentinel：为什么 Hystrix 停更后 Sentinel 成了 Java 微服务限流熔断的事实标准？资源/规则/流量 grade 核心概念、@SentinelResource 注解、blockHandler 与 fallback 的区别、Dashboard 控制台部署——读完能跑起来第一个带限流的接口。</description>
    </item>
    <item>
      <title>Gateway 生产实战——鉴权、限流、熔断与部署</title>
      <link>https://yaocat.cloud/posts/gateway/gatewayproduction/</link>
      <pubDate>Mon, 05 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/gateway/gatewayproduction/</guid>
      <description>Spring Cloud Gateway 生产环境全方案：JWT 鉴权 GlobalFilter、Redis 令牌桶限流、Resilience4j 熔断降级、CORS 跨域配置、Prometheus &#43; Grafana 监控、traceId 全链路追踪、Docker Compose 部署——附带 12 项生产上线 Checklist。</description>
    </item>
    <item>
      <title>GatewayFilter 与 GlobalFilter 全操作</title>
      <link>https://yaocat.cloud/posts/gateway/gatewayfilterguide/</link>
      <pubDate>Sun, 04 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/gateway/gatewayfilterguide/</guid>
      <description>Spring Cloud Gateway Filter 全解：GatewayFilter 与 GlobalFilter 的区别、所有内置过滤器逐一拆解、自定义 GatewayFilter Factory、自定义 GlobalFilter、Filter 执行顺序与链式调用——附带完整的请求/响应处理时序图。</description>
    </item>
    <item>
      <title>Predicate 与路由规则全解</title>
      <link>https://yaocat.cloud/posts/gateway/gatewaypredicate/</link>
      <pubDate>Sat, 03 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/gateway/gatewaypredicate/</guid>
      <description>Spring Cloud Gateway 的 12 种 Predicate 逐一拆解——Path/Host/Header/Query/Cookie/RemoteAddr/Weight/时间路由——每条有配置示例加验证命令、Java DSL 对比 yml、动态路由与 Nacos 集成——读完彻底搞清楚路由规则。</description>
    </item>
    <item>
      <title>Spring Cloud Gateway 核心概念与快速上手</title>
      <link>https://yaocat.cloud/posts/gateway/gatewayfundamentals/</link>
      <pubDate>Fri, 02 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/gateway/gatewayfundamentals/</guid>
      <description>从零理解 API 网关：Spring Cloud Gateway 为什么选 WebFlux&#43;Netty 而不是 Tomcat？Route/Predicate/Filter 三大核心概念拆解、第一个网关项目搭建、与 Zuul/Nginx/Kong 的对比——读完就知道网关是干什么的和怎么上手。</description>
    </item>
    <item>
      <title>gRPC Gateway 与生产环境部署</title>
      <link>https://yaocat.cloud/posts/grpc/grpcgateway/</link>
      <pubDate>Thu, 01 Dec 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/grpc/grpcgateway/</guid>
      <description>gRPC 调通了——前端怎么调？gRPC-Gateway 把 gRPC 转成 HTTP JSON、Envoy 负载均衡、gRPC 健康检查协议、TLS/mTLS 加密、JWT 认证——附带完整的生产环境 Docker Compose 部署方案。</description>
    </item>
    <item>
      <title>微服务拆分实战：以 proto 为契约</title>
      <link>https://yaocat.cloud/posts/grpc/grpcmicroservice/</link>
      <pubDate>Wed, 30 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/grpc/grpcmicroservice/</guid>
      <description>微服务拆分后服务间怎么通信？以 proto 作为服务契约——多模块项目结构、proto 文件组织、DTO 与 Domain 转换、proto 版本管理、服务边界设计——一个完整的电商微服务拆分实操。</description>
    </item>
    <item>
      <title>SpringBoot gRPC 全操作指南</title>
      <link>https://yaocat.cloud/posts/grpc/springbootgrpc/</link>
      <pubDate>Tue, 29 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/grpc/springbootgrpc/</guid>
      <description>SpringBoot 集成 gRPC 的全部操作：grpc-spring-boot-starter 环境搭建、四种 RPC 模式完整代码（Unary/ServerStream/ClientStream/BiDi Stream）、拦截器、异常处理 Status、Deadline 超时传播——附带完整的 Maven 多模块项目与 curl/grpcurl 验证。</description>
    </item>
    <item>
      <title>Protobuf 语法精讲与 gRPC 概念</title>
      <link>https://yaocat.cloud/posts/grpc/protobufguide/</link>
      <pubDate>Mon, 28 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/grpc/protobufguide/</guid>
      <description>从零讲透 Protobuf 的每一个语法元素——message/oneof/map/enum/reserved/import/service、每行语法都有完整代码示例与编译验证、附带 HTTP/2 基础与 gRPC 四种调用模式概念——读完就能写出正确的 .proto 文件。</description>
    </item>
    <item>
      <title>Jackson vs Fastjson2 终极对比</title>
      <link>https://yaocat.cloud/posts/serialization/serializationcomparison/</link>
      <pubDate>Sun, 27 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/serialization/serializationcomparison/</guid>
      <description>注解对照表、API 设计哲学差异、性能基准与实测注意事项、生态整合对比（SpringBoot 兼容性、中间件支持）、选型决策树——从 Jackson 和 Fastjson2 中选出适合你的那一个。</description>
    </item>
    <item>
      <title>Fastjson 进化史：从 1.x 漏洞到 Fastjson2</title>
      <link>https://yaocat.cloud/posts/serialization/fastjson2guide/</link>
      <pubDate>Sat, 26 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/serialization/fastjson2guide/</guid>
      <description>Fastjson 1.x 为什么快又为什么危险——autoType 机制与 CVE 漏洞链条、哪些中间件还在依赖它、Fastjson2 的安全性重构与 API 兼容方案、@JSONField 等注解全操作——附带完整的 Fastjson 1 → Fastjson2 迁移指南。</description>
    </item>
    <item>
      <title>序列化本质与 Jackson 全操作指南</title>
      <link>https://yaocat.cloud/posts/serialization/jacksonguide/</link>
      <pubDate>Fri, 25 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/serialization/jacksonguide/</guid>
      <description>从序列化的本质出发，拆解 Jackson 作为 SpringBoot 默认序列化器的全部核心操作：@JsonProperty/@JsonIgnore/@JsonFormat/@JsonInclude 等常用注解、ObjectMapper 定制配置、泛型反序列化、多态处理——附带完整代码示例。</description>
    </item>
    <item>
      <title>Dubbo 生产环境部署与调优</title>
      <link>https://yaocat.cloud/posts/dubbo/dubboproduction/</link>
      <pubDate>Thu, 24 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dubbo/dubboproduction/</guid>
      <description>从单机开发到多协议多注册中心的生产集群：Dubbo Admin 可视化监控、JVM/Netty/线程池调优、Provider 并发控制、Consumer 超时与重试最佳实践、多注册中心高可用部署、10 项上线前检查清单——Dubbo 系列的最后一站。</description>
    </item>
    <item>
      <title>Dubbo 3.x 新特性：Triple 协议与应用级服务发现</title>
      <link>https://yaocat.cloud/posts/dubbo/dubbo3features/</link>
      <pubDate>Wed, 23 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dubbo/dubbo3features/</guid>
      <description>拆解 Dubbo 3.x 的两大革新：Triple 协议（HTTP/2 &#43; Protobuf 如何打通浏览器与跨语言 RPC）、应用级服务发现（从接口粒度到应用粒度的注册模型演进）——附带完整的 Triple 协议 SpringBoot 配置与 curl 验证示例。</description>
    </item>
    <item>
      <title>Dubbo 注册中心：Nacos 与 Zookeeper</title>
      <link>https://yaocat.cloud/posts/dubbo/dubboregistry/</link>
      <pubDate>Tue, 22 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dubbo/dubboregistry/</guid>
      <description>深入 Dubbo 注册中心的本质：服务注册与发现的全链路流程、Nacos vs Zookeeper 技术选型、Nacos 同时做注册中心与配置中心、多注册中心（双活/异地多活）、地址缓存与失效机制——附带完整的配置和代码示例。</description>
    </item>
    <item>
      <title>Dubbo 集群容错、负载均衡与异步调用</title>
      <link>https://yaocat.cloud/posts/dubbo/dubboadvanced/</link>
      <pubDate>Mon, 21 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dubbo/dubboadvanced/</guid>
      <description>拆解 Dubbo 的全部服务治理能力：六种集群容错策略（Failover/Failfast/Failsafe 等）、七种负载均衡算法（含 P2C 和 Adaptive）、服务分组与版本隔离、异步调用 CompletableFuture、参数校验、本地存根——逐个场景给 @DubboService/@DubboReference 的精确配置。</description>
    </item>
    <item>
      <title>SpringBoot Dubbo 全操作指南</title>
      <link>https://yaocat.cloud/posts/dubbo/springbootdubbo/</link>
      <pubDate>Sun, 20 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dubbo/springbootdubbo/</guid>
      <description>从原生 Dubbo Spring XML 迁移到 SpringBoot Starter：@DubboService 和 @DubboReference 两个注解替代全部 XML、dubbo/triple 协议切换、Hessian2/Fastjson2 序列化配置、Nacos 注册中心集成——附带完整的 Provider &#43; Consumer 双向调用代码。</description>
    </item>
    <item>
      <title>Dubbo 核心架构与 RPC 模型</title>
      <link>https://yaocat.cloud/posts/dubbo/dubbofundamentals/</link>
      <pubDate>Sat, 19 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/dubbo/dubbofundamentals/</guid>
      <description>从 HTTP REST 的分布式通信局限出发，拆解 Dubbo 的 RPC 核心模型、Provider-Consumer-Registry 三角架构、服务治理三要素、Dubbo 3.x 的 Triple 协议革新——附带 Nacos 注册中心 Docker 安装与第一条远程调用。</description>
    </item>
    <item>
      <title>Kafka 生产环境部署与调优</title>
      <link>https://yaocat.cloud/posts/kafka/kafkaproduction/</link>
      <pubDate>Fri, 18 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kafka/kafkaproduction/</guid>
      <description>从单节点 Docker 到 KRaft 三节点集群的完整部署指南：Docker Compose 多 Controller 选举、JVM/OS 调优参数、Producer/Consumer/Broker 层性能优化、Prometheus &#43; Grafana 监控配置、10 项上线前检查清单——Kafka 系列的最后一站。</description>
    </item>
    <item>
      <title>Kafka Streams 与高级特性</title>
      <link>https://yaocat.cloud/posts/kafka/kafkastreams/</link>
      <pubDate>Thu, 17 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kafka/kafkastreams/</guid>
      <description>从 Kafka Consumer/Producer 到 Kafka Streams：KStream/KTable/GlobalKTable 双流概念、有状态聚合与精确一次语义、流-表 Join、窗口操作（Tumbling/Hopping/Sliding）、Log Compaction 原理——附带完整的 SpringBoot Kafka Streams 代码示例。</description>
    </item>
    <item>
      <title>Kafka Consumer 深入：位移管理与 Rebalance</title>
      <link>https://yaocat.cloud/posts/kafka/consumerinternals/</link>
      <pubDate>Wed, 16 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kafka/consumerinternals/</guid>
      <description>拆解 Kafka Consumer 的全部控制力：Offset 自动/手动提交机制、__consumer_offsets 内部 Topic、Rebalance 触发时机与四种分配策略、重复消费的根源与幂等防线、多线程消费模型——附带完整的 SpringBoot 配置与代码模板。</description>
    </item>
    <item>
      <title>Kafka Producer 深入：分区、ACK 与幂等</title>
      <link>https://yaocat.cloud/posts/kafka/producerinternals/</link>
      <pubDate>Tue, 15 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kafka/producerinternals/</guid>
      <description>拆解 KafkaProducer 的全部控制力：默认/自定义分区策略、acks=0/1/all 可靠性对比、幂等生产者实现精确一次语义、事务消息跨 Topic 原子写入、linger.ms/batch.size 吞吐量调优——附带完整的 SpringBoot 配置与代码。</description>
    </item>
    <item>
      <title>SpringBoot Kafka 全操作指南</title>
      <link>https://yaocat.cloud/posts/kafka/springbootkafka/</link>
      <pubDate>Mon, 14 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kafka/springbootkafka/</guid>
      <description>从原生 Kafka Client 迁移到 Spring Kafka：KafkaTemplate 同步/异步/回调发送、@KafkaListener 批量消费、JSON 序列化配置、Producer/Consumer 参数调优、完整 Controller 示例——读完直接上项目。</description>
    </item>
    <item>
      <title>Kafka 核心架构与日志存储模型</title>
      <link>https://yaocat.cloud/posts/kafka/kafkafundamentals/</link>
      <pubDate>Sun, 13 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kafka/kafkafundamentals/</guid>
      <description>从 RabbitMQ/RocketMQ 的本质局限出发，拆解 Kafka 的 Topic-Partition 分布式日志模型、零拷贝顺序读写、ConsumerGroup 偏移量管理与 KRaft 去 Zookeeper 架构，附带 Docker 安装与第一条消息。</description>
    </item>
    <item>
      <title>RocketMQ 生产环境部署与调优</title>
      <link>https://yaocat.cloud/posts/rocketmq/productiondeployment/</link>
      <pubDate>Sat, 12 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rocketmq/productiondeployment/</guid>
      <description>从单机 Docker 到双主双从高可用集群的完整部署指南：Docker Compose 四节点搭建、Dashboard 可视化监控、JVM/OS/应用层调优参数、10 项上线前检查清单——RocketMQ 系列的最后一站。</description>
    </item>
    <item>
      <title>RocketMQ 消费者模式与过滤器</title>
      <link>https://yaocat.cloud/posts/rocketmq/consumerpatterns/</link>
      <pubDate>Fri, 11 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rocketmq/consumerpatterns/</guid>
      <description>深入 RocketMQ 的集群消费与广播消费、Push 与 Pull 两种拉取模式、Tag 与 SQL92 消息过滤、Rebalance 队列分配机制——消费端的全部控制力。</description>
    </item>
    <item>
      <title>RocketMQ 消息可靠性与容错</title>
      <link>https://yaocat.cloud/posts/rocketmq/messagereliability/</link>
      <pubDate>Thu, 10 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rocketmq/messagereliability/</guid>
      <description>从消息不丢的四个防线出发，逐层拆解 RocketMQ 的同步/异步刷盘、主从同步复制、消费重试与死信队列、消息幂等方案——附带完整的 SpringBoot 配置与代码模板。</description>
    </item>
    <item>
      <title>RocketMQ 顺序消息、延迟消息与事务消息</title>
      <link>https://yaocat.cloud/posts/rocketmq/advancedmessages/</link>
      <pubDate>Wed, 09 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rocketmq/advancedmessages/</guid>
      <description>深入 RocketMQ 的三大核心差异化特性：顺序消息的 Queue 哈希机制与消费陷阱、延迟消息的 18 级时间轮实现、事务消息的半消息 &#43; 回查两阶段提交——完整代码与 Mermaid 流程图。</description>
    </item>
    <item>
      <title>SpringBoot RocketMQ 全操作指南</title>
      <link>https://yaocat.cloud/posts/rocketmq/springbootrocketmq/</link>
      <pubDate>Tue, 08 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rocketmq/springbootrocketmq/</guid>
      <description>真实商城项目 RocketMQ 实战：MqHelper 封装、延迟消息自动取消订单、WebSocket 通知推送、多节点任务同步、RabbitMQ 双 MQ 基础设施先行策略。</description>
    </item>
    <item>
      <title>RocketMQ 核心架构与消息模型——领域模型、存储引擎与消息生命周期全景</title>
      <link>https://yaocat.cloud/posts/rocketmq/rocketmqfundamentals/</link>
      <pubDate>Mon, 07 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rocketmq/rocketmqfundamentals/</guid>
      <description>从Apache官方领域模型出发，用8张结构图拆解RocketMQ七大核心概念、三层存储引擎（CommitLog&#43;ConsumeQueue&#43;IndexFile）、消息生命周期三阶段，附带Docker安装与纯Java Client第一条消息。</description>
    </item>
    <item>
      <title>RabbitMQ 生产环境部署与调优</title>
      <link>https://yaocat.cloud/posts/rabbitmq/productiondeployment/</link>
      <pubDate>Sun, 06 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rabbitmq/productiondeployment/</guid>
      <description>从单机到集群的 RabbitMQ 生产部署完整指南：集群搭建、仲裁队列（Quorum Queue）、监控告警、性能调优、连接池配置与 10 项上线前检查清单。</description>
    </item>
    <item>
      <title>RabbitMQ 延迟队列与高级特性</title>
      <link>https://yaocat.cloud/posts/rabbitmq/delayqueueadvanced/</link>
      <pubDate>Sat, 05 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rabbitmq/delayqueueadvanced/</guid>
      <description>延迟队列两种实现方式（插件 vs TTL&#43;DLX）、优先级队列、惰性队列、RPC 模式——四个实战场景覆盖 RabbitMQ 高级特性。</description>
    </item>
    <item>
      <title>RabbitMQ 消息可靠性保障</title>
      <link>https://yaocat.cloud/posts/rabbitmq/messagereliability/</link>
      <pubDate>Fri, 04 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rabbitmq/messagereliability/</guid>
      <description>从消息可能丢失的三个环节出发，逐层覆盖 Publisher Confirm、持久化、手动 ACK/NACK、死信队列、重试机制与消息幂等，彻底解决 RabbitMQ 消息可靠性问题。</description>
    </item>
    <item>
      <title>SpringBoot RabbitMQ 全操作指南</title>
      <link>https://yaocat.cloud/posts/rabbitmq/springbootrabbitmq/</link>
      <pubDate>Thu, 03 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rabbitmq/springbootrabbitmq/</guid>
      <description>一篇掌握 SpringBoot RabbitMQ 全部常用操作：RabbitTemplate 发送、@RabbitListener 消费、Jackson2Json 消息转换、声明式拓扑配置、手动 ACK，以及真实电商项目的常量管理、MqHelper 双 Broker 抽象、四条业务线 MQ 模式与 RabbitMQ vs RocketMQ 分工。</description>
    </item>
    <item>
      <title>RabbitMQ 交换机类型完全指南</title>
      <link>https://yaocat.cloud/posts/rabbitmq/exchangetypesguide/</link>
      <pubDate>Wed, 02 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rabbitmq/exchangetypesguide/</guid>
      <description>逐一拆解 Direct / Fanout / Topic / Headers 四种交换机的路由规则，附带 Java 原生客户端验证代码与消息轨迹追踪，是 RabbitMQ 路由机制最详尽的中文教程。</description>
    </item>
    <item>
      <title>RabbitMQ 核心概念与 AMQP 协议</title>
      <link>https://yaocat.cloud/posts/rabbitmq/rabbitmqfundamentals/</link>
      <pubDate>Tue, 01 Nov 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/rabbitmq/rabbitmqfundamentals/</guid>
      <description>从同步处理的性能瓶颈出发，拆解 RabbitMQ 的 AMQP 协议、核心组件（Exchange/Queue/Binding）、Virtual Host 隔离、Connection 与 Channel 的关系，附带 Docker 安装与管理界面实操。</description>
    </item>
    <item>
      <title>Redis &#43; Caffeine 双层缓存：降级与容错</title>
      <link>https://yaocat.cloud/posts/caffeine/rediscaffeinemultilevelcache/</link>
      <pubDate>Mon, 31 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/caffeine/rediscaffeinemultilevelcache/</guid>
      <description>从真实数据字典缓存案例出发，对比简化 @Cacheable&#43;Caffeine&#43;Redis 方案与完整 TieredCacheManager 方案——不是所有场景都需要 200 行降级代码。</description>
    </item>
    <item>
      <title>Caffeine 本地缓存核心与 SpringBoot 集成</title>
      <link>https://yaocat.cloud/posts/caffeine/caffeinefundamentals/</link>
      <pubDate>Sun, 30 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/caffeine/caffeinefundamentals/</guid>
      <description>从数据字典真实缓存案例出发，讲解 Caffeine W-TinyLFU 淘汰算法、三种过期策略、Spring Cache 注解式集成（含自定义 KeyGenerator），对比 @Cacheable &#43; Caffeine 与 @Cacheable &#43; Redis 的本质区别。</description>
    </item>
    <item>
      <title>MongoDB 索引、事务与性能调优</title>
      <link>https://yaocat.cloud/posts/mongodb/mongodbproductionoptimization/</link>
      <pubDate>Sat, 29 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/mongodb/mongodbproductionoptimization/</guid>
      <description>深入讲解 MongoDB 索引类型与策略、explain() 查询计划分析、Schema 设计（嵌入 vs 引用）、事务使用边界与生产环境性能自查清单。</description>
    </item>
    <item>
      <title>MongoDB 聚合管道深入</title>
      <link>https://yaocat.cloud/posts/mongodb/mongodbaggregation/</link>
      <pubDate>Fri, 28 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/mongodb/mongodbaggregation/</guid>
      <description>深入讲解 MongoDB Aggregation Pipeline 的各阶段操作符——$match/$group/$sort/$project/$unwind/$lookup/$facet/$bucket，附带完整 mongosh 与 Java 代码对照。</description>
    </item>
    <item>
      <title>SpringBoot MongoDB 全操作指南</title>
      <link>https://yaocat.cloud/posts/mongodb/springbootmongodb/</link>
      <pubDate>Thu, 27 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/mongodb/springbootmongodb/</guid>
      <description>一篇覆盖 SpringBoot MongoDB 全部常用操作，含 Entity 映射、MongoTemplate、MongoRepository、Criteria 查询构建、聚合初探、批量写入，以及真实电商项目的双写架构分析与两种 MongoDB 使用模式对照，看完直接上手做项目。</description>
    </item>
    <item>
      <title>MongoDB 核心概念</title>
      <link>https://yaocat.cloud/posts/mongodb/mongodbfundamentals/</link>
      <pubDate>Wed, 26 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/mongodb/mongodbfundamentals/</guid>
      <description>MongoDB 核心概念、文档模型与 BSON 数据类型、与 MySQL 的思维差异、mongosh 基础 CRUD 与查询操作符全解析</description>
    </item>
    <item>
      <title>Elasticsearch 生产调优与索引设计</title>
      <link>https://yaocat.cloud/posts/elasticsearch/esproductionoptimization/</link>
      <pubDate>Tue, 25 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/elasticsearch/esproductionoptimization/</guid>
      <description>深入讲解 ES 生产环境的分片设计、批量写入优化、深分页解决方案（search_after/scroll/PIT）、搜索性能排查与慢查询优化，附带完整电商搜索系统设计案例。</description>
    </item>
    <item>
      <title>ES 高级搜索与聚合分析</title>
      <link>https://yaocat.cloud/posts/elasticsearch/esadvancedsearch/</link>
      <pubDate>Mon, 24 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/elasticsearch/esadvancedsearch/</guid>
      <description>深入讲解 multi_match 多字段搜索、bool 组合查询、bucket/metric/pipeline 聚合分析、高亮、相关性算分（BM25）和搜索建议，附带完整 DSL 与 Java 代码对照。</description>
    </item>
    <item>
      <title>SpringBoot Elasticsearch 全操作指南</title>
      <link>https://yaocat.cloud/posts/elasticsearch/springbootes/</link>
      <pubDate>Sun, 23 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/elasticsearch/springbootes/</guid>
      <description>一篇覆盖 SpringBoot Elasticsearch 全部常用操作，含 Entity 映射、ElasticsearchRestTemplate、Repository、搜索、聚合、高亮、批量写入，以及真实电商项目的 RestHighLevelClient 封装、四种数据同步模式与搜索优化实践，看完直接上手做项目。</description>
    </item>
    <item>
      <title>Elasticsearch 核心概念</title>
      <link>https://yaocat.cloud/posts/elasticsearch/esfundamentals/</link>
      <pubDate>Sat, 22 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/elasticsearch/esfundamentals/</guid>
      <description>Elasticsearch 核心概念、倒排索引原理、分词器工作流程、Mapping 设计与 REST API 基础 CRUD</description>
    </item>
    <item>
      <title>Redis 缓存策略进阶：六大模式全解析</title>
      <link>https://yaocat.cloud/posts/redis/cachestrategies/</link>
      <pubDate>Fri, 21 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/redis/cachestrategies/</guid>
      <description>深入对比 Cache-Aside、Read-Through、Write-Through、Write-Behind、Refresh-Ahead、Write-Around 六大缓存策略的原理、Mermaid 图解、RedisTemplate 代码模板与实战选型指南，是 SpringBoot Redis 系列的进阶篇。</description>
    </item>
    <item>
      <title>SpringBoot Redis 全操作指南</title>
      <link>https://yaocat.cloud/posts/redis/springbootredis/</link>
      <pubDate>Thu, 20 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/redis/springbootredis/</guid>
      <description>一篇覆盖 SpringBoot Redis 全部常用操作，含五种数据结构、Spring Cache 注解、Redisson 分布式锁、Pipeline 批量操作与发布订阅，看完直接上手做项目。</description>
    </item>
    <item>
      <title>Redis 核心架构</title>
      <link>https://yaocat.cloud/posts/redis/redisfundamentals/</link>
      <pubDate>Wed, 19 Oct 2022 08:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/redis/redisfundamentals/</guid>
      <description>Redis 核心架构、Key/Value 模型、五大数据结构底层实现与常用命令</description>
    </item>
    <item>
      <title>JVM 面试突击</title>
      <link>https://yaocat.cloud/posts/jvm/jvminterviewqa/</link>
      <pubDate>Tue, 18 Oct 2022 05:09:46 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/jvm/jvminterviewqa/</guid>
      <description>JVM 面试高频考点全面整理，覆盖运行时数据区、类加载机制、垃圾回收算法与收集器、调优工具命令详解、JMM 内存模型与 volatile 等七大部分，面试突击必背。</description>
    </item>
    <item>
      <title>Spring Boot 面试突击</title>
      <link>https://yaocat.cloud/posts/spring/springbootinterviewqa/</link>
      <pubDate>Mon, 17 Oct 2022 04:06:46 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/spring/springbootinterviewqa/</guid>
      <description>Spring Boot 面试高频考点全面整理，覆盖基础概念、核心注解、自动配置原理、事务管理、Bean 生命周期等十一大模块，面试突击必背。</description>
    </item>
    <item>
      <title>Spring Boot Starter 封装实践报告</title>
      <link>https://yaocat.cloud/posts/spring/springbootstarterpractice/</link>
      <pubDate>Fri, 14 Oct 2022 13:24:34 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/spring/springbootstarterpractice/</guid>
      <description>从理解 Spring Boot 自动装配原理出发，手把手实践封装一个自定义 Starter，实现方法耗时自动记录功能</description>
    </item>
    <item>
      <title>开发常用 100 条 Linux 指令全解析</title>
      <link>https://yaocat.cloud/posts/linux/linuxcommands100/</link>
      <pubDate>Fri, 14 Oct 2022 08:16:55 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/linux/linuxcommands100/</guid>
      <description>按系统信息、文件操作、文本处理、进程管理、内存CPU、磁盘IO、网络、用户权限、系统服务等10大分类，详解100条开发常用Linux指令的输出参数含义与服务器状态解读。</description>
    </item>
    <item>
      <title>高并发企业自营电商小程序系统架构设计</title>
      <link>https://yaocat.cloud/posts/architecture/ecommercesystemarchitecture/</link>
      <pubDate>Thu, 13 Oct 2022 09:06:46 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/architecture/ecommercesystemarchitecture/</guid>
      <description>从需求分析、业务建模、系统架构到部署监控，全面讲解高并发企业自营B2C电商小程序的设计方案，涵盖库存分片扣减、支付回调幂等、数据一致性保障等核心难点。</description>
    </item>
    <item>
      <title>Spring Cloud Alibaba 微服务中间件体系概念解析</title>
      <link>https://yaocat.cloud/posts/springcloud/springcloudalibabamicroservice/</link>
      <pubDate>Tue, 11 Oct 2022 08:16:21 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springcloud/springcloudalibabamicroservice/</guid>
      <description>从单体拆分到微服务的真实踩坑经历出发，逐层拆解 Spring Cloud Alibaba 六大核心组件：Gateway、Sentinel、Dubbo/Feign、Nacos、RocketMQ、Seata。不讲源码，只讲每个组件干什么、不干什么、什么时候用、什么时候别用，附带完整决策树和实战链路。</description>
    </item>
    <item>
      <title>WSL2 Docker 数据持久化</title>
      <link>https://yaocat.cloud/posts/kubernetes/wsldockerdatapersistence/</link>
      <pubDate>Mon, 10 Oct 2022 03:19:10 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/wsldockerdatapersistence/</guid>
      <description>诊断并修复 WSL2 中 docker-desktop-data 实例缺失导致 wsl --shutdown 后 Docker 容器和镜像全部丢失的问题，涵盖架构原理、复现步骤、根因分析和完整解决方案。</description>
    </item>
    <item>
      <title>一次性讲明白 Filter、Interceptor、RequestAdvice、ResponseAdvice</title>
      <link>https://yaocat.cloud/posts/spring/filterinterceptoradvice/</link>
      <pubDate>Sun, 09 Oct 2022 09:43:26 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/spring/filterinterceptoradvice/</guid>
      <description>彻底搞清楚 Filter、Interceptor、RequestAdvice、ResponseAdvice 四个组件的执行位置、前后顺序和日常开发中的实际用途。</description>
    </item>
    <item>
      <title>学会够用就行</title>
      <link>https://yaocat.cloud/posts/career/techlearninganxiety/</link>
      <pubDate>Sat, 08 Oct 2022 09:43:26 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/career/techlearninganxiety/</guid>
      <description>面对微服务生态中无穷无尽的技术栈，接受够用就行不是放弃，而是把有限的精力聚焦在真正重要的事情上。</description>
    </item>
    <item>
      <title>Spring Boot 开发中的上下文</title>
      <link>https://yaocat.cloud/posts/spring/springbootcontextclasses/</link>
      <pubDate>Fri, 07 Oct 2022 09:43:26 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/spring/springbootcontextclasses/</guid>
      <description>Spring Boot 高频核心上下文类全解析：RequestContextHolder、SecurityContextHolder、TransactionSynchronizationManager、ApplicationContext 等，含完整实战代码与常见踩坑</description>
    </item>
    <item>
      <title>数据库迁移实战</title>
      <link>https://yaocat.cloud/posts/database/databasemigration/</link>
      <pubDate>Thu, 06 Oct 2022 07:49:23 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/database/databasemigration/</guid>
      <description>从停机迁移、双写、CDC 到零停机方案，涵盖数据一致性校验、回滚策略与 gh-ost/Canal/Debezium 等工具选型</description>
    </item>
    <item>
      <title>CoAP 受限应用协议</title>
      <link>https://yaocat.cloud/posts/iot/coapprotocol/</link>
      <pubDate>Wed, 05 Oct 2022 03:01:01 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/iot/coapprotocol/</guid>
      <description>从二进制报文格式到 CON/NON 通信模型，再到 Observe 观察者模式，配合真实数据包拆解与 MQTT 对比</description>
    </item>
    <item>
      <title>从 Docker Compose 到 Kind</title>
      <link>https://yaocat.cloud/posts/kubernetes/kindwslmigration/</link>
      <pubDate>Tue, 04 Oct 2022 02:28:51 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/kubernetes/kindwslmigration/</guid>
      <description>从零开始在 WSL 上安装 Kind，用实际项目将 Docker Compose 迁移到 Kubernetes 的完整新手教程</description>
    </item>
    <item>
      <title>从单体到微服务</title>
      <link>https://yaocat.cloud/posts/architecture/monolithtomicroservices/</link>
      <pubDate>Mon, 03 Oct 2022 01:08:09 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/architecture/monolithtomicroservices/</guid>
      <description>从拆分决策、业务边界分析、服务通信到中间件选型的全链路指南</description>
    </item>
    <item>
      <title>JUC 在中间件中的应用</title>
      <link>https://yaocat.cloud/posts/concurrency/jucinmiddleware/</link>
      <pubDate>Sun, 02 Oct 2022 10:09:51 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/jucinmiddleware/</guid>
      <description>从 Tomcat 到 RocketMQ，逐一剖析线程池与 JUC 集合在主流中间件中的实际应用与源码</description>
    </item>
    <item>
      <title>MQTT 协议</title>
      <link>https://yaocat.cloud/posts/iot/mqttfundamentals/</link>
      <pubDate>Sat, 01 Oct 2022 03:55:15 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/iot/mqttfundamentals/</guid>
      <description>从角色体系到 QoS 分级，全面讲解 MQTT 协议的核心概念、Broker 设计原理与实际应用</description>
    </item>
    <item>
      <title>Spring Boot 日志</title>
      <link>https://yaocat.cloud/posts/spring/springbootloggingguide/</link>
      <pubDate>Fri, 30 Sep 2022 02:42:58 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/spring/springbootloggingguide/</guid>
      <description>从打点位置到线上排查，全面掌握 Spring Boot 日志系统的使用与原理</description>
    </item>
    <item>
      <title>云服务器选型实战</title>
      <link>https://yaocat.cloud/posts/hands-on/cloudserversizing/</link>
      <pubDate>Thu, 29 Sep 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/hands-on/cloudserversizing/</guid>
      <description>以阿里云 ECS 为例，深入掌握新项目上云时带宽、CPU 核心数、内存容量的科学估算方法论，含完整公式、Mermaid 决策流程与典型项目模板</description>
    </item>
    <item>
      <title>API 响应封装</title>
      <link>https://yaocat.cloud/posts/springmvc/apiresponsedesignpattern/</link>
      <pubDate>Mon, 26 Sep 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springmvc/apiresponsedesignpattern/</guid>
      <description>深入解析商城项目中 API 统一响应封装的完整设计：从 ApiResult 数据结构到 GlobalApiResultHandler 自动包装，再到全局异常处理与分页响应，逐层拆解一个工业级项目的真实方案</description>
    </item>
    <item>
      <title>Servlet 网络编程</title>
      <link>https://yaocat.cloud/posts/servlet/servletprogrammingguide/</link>
      <pubDate>Sun, 25 Sep 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/servlet/servletprogrammingguide/</guid>
      <description>从零开始掌握 Servlet 网络编程：RESTful API、过滤器链、监听器、Tomcat 部署，为深入 Spring MVC 源码打好基础</description>
    </item>
    <item>
      <title>Long类型ID前端精度丢失</title>
      <link>https://yaocat.cloud/posts/longidprecisionloss/</link>
      <pubDate>Sun, 25 Sep 2022 07:54:50 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/longidprecisionloss/</guid>
      <description>后端返回的雪花算法Long型ID因JavaScript Number采用IEEE 754双精度浮点导致精度丢失，本文从根因出发给出Jackson全局序列化&#43;前后端协同的完整方案</description>
    </item>
    <item>
      <title>Spring MVC 常用注解</title>
      <link>https://yaocat.cloud/posts/springmvc/springmvcannotationsguide/</link>
      <pubDate>Sat, 24 Sep 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springmvc/springmvcannotationsguide/</guid>
      <description>从企业级生产环境出发，全面覆盖 Spring MVC 常用注解的用法、参数、实战场景与踩坑经验</description>
    </item>
    <item>
      <title>OAuth 2.0 &#43; JWT 单点登录</title>
      <link>https://yaocat.cloud/posts/springsecurity/oauth2jwtssoimplementation/</link>
      <pubDate>Thu, 22 Sep 2022 12:36:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springsecurity/oauth2jwtssoimplementation/</guid>
      <description>从浏览器、业务系统、认证中心三方交互视角出发，逐帧拆解 OAuth 2.0 授权码&#43;PKCE 完整流程，配合 Spring Security 完整代码实战，实现基于 OAuth 2.0&#43;JWT 的单点登录系统</description>
    </item>
    <item>
      <title>SSO 与 JWT&#43;Redis 的定位差异</title>
      <link>https://yaocat.cloud/posts/springsecurity/ssovsjwtredisauth/</link>
      <pubDate>Wed, 21 Sep 2022 10:32:38 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springsecurity/ssovsjwtredisauth/</guid>
      <description>厘清JWT、Redis&#43;JWT、SSO三者的本质区别：JWT是Token格式、Redis&#43;JWT是单服务的Token管理策略、SSO是跨服务的统一认证架构，三者处于不同抽象层次</description>
    </item>
    <item>
      <title>JWT 与双令牌机制详解</title>
      <link>https://yaocat.cloud/posts/springsecurity/jwtdualtokenguide/</link>
      <pubDate>Tue, 20 Sep 2022 09:42:16 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springsecurity/jwtdualtokenguide/</guid>
      <description>从Session会话的分布式痛点切入，深入讲解JWT的三段式结构、签名验证原理、Java代码实现，以及AccessToken&#43;RefreshToken双令牌机制的设计思想和完整代码</description>
    </item>
    <item>
      <title>JWT &#43; Redis 双令牌鉴权实战</title>
      <link>https://yaocat.cloud/posts/springsecurity/jwtredishybridauth/</link>
      <pubDate>Mon, 19 Sep 2022 08:42:45 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springsecurity/jwtredishybridauth/</guid>
      <description>深入对比纯JWT、纯Redis&#43;Token、JWT&#43;Redis混合三种鉴权方案，给出基于JJWT&#43;Redis&#43;SpringSecurity的完整生产级实现，解决Token主动失效这一核心痛点</description>
    </item>
    <item>
      <title>Spring Security &#43; JWT 企业级鉴权实战</title>
      <link>https://yaocat.cloud/posts/springsecurity/springsecurityjwtauthguide/</link>
      <pubDate>Sun, 18 Sep 2022 07:00:19 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/springsecurity/springsecurityjwtauthguide/</guid>
      <description>从教程版起步，逐步替换为真实商城项目源码：JJWT&#43;Redis双key Token方案、@NoLogin自动扫描、Filter异常桥接、User→Role→Menu三表联查权限、RSA传输加密&#43;短信双认证&#43;异地登录检测的完整登录流程</description>
    </item>
    <item>
      <title>Spring Boot企业开发高频注解完全指南</title>
      <link>https://yaocat.cloud/posts/spring/springboothighfrequencyannotations/</link>
      <pubDate>Sat, 17 Sep 2022 05:57:12 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/spring/springboothighfrequencyannotations/</guid>
      <description>企业级Spring Boot开发中真正高频使用的Spring注解大全，不含SpringMVC和SpringSecurity，涵盖IoC/DI、AOP、事务、缓存、异步、JPA、测试等全场景</description>
    </item>
    <item>
      <title>NIO 性能调优</title>
      <link>https://yaocat.cloud/posts/io/nioperformancetuning/</link>
      <pubDate>Fri, 16 Sep 2022 09:15:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/io/nioperformancetuning/</guid>
      <description>从文件传输 CPU 100% 问题切入，用 DrawIO 硬件数据流图对比传统 I/O 与零拷贝的差异，讲解 sendfile/DMA scatter-gather 原理、直接内存分配与释放机制，以及线上句柄泄露、NIO 空轮询、直接内存溢出三大问题的排查方法。</description>
    </item>
    <item>
      <title>Netty</title>
      <link>https://yaocat.cloud/posts/io/netty/</link>
      <pubDate>Thu, 15 Sep 2022 09:15:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/io/netty/</guid>
      <description>从原生 NIO 四大痛点切入，深入 Netty 的 Reactor 线程模型、Pipeline 责任链机制、ByteBuf 自动扩容原理，配合 Echo/时间/群聊/HTTP 四个完整示例，展示如何用成熟框架替代原生 NIO 实现生产级网络编程。</description>
    </item>
    <item>
      <title>Java NIO</title>
      <link>https://yaocat.cloud/posts/io/javanio/</link>
      <pubDate>Wed, 14 Sep 2022 09:05:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/io/javanio/</guid>
      <description>从 epoll 红黑树与就绪列表的内核机制出发，用 C 语言示例验证多路复用原理，再深入 Java NIO 的 Buffer、Channel、Selector 三大核心及底层对应关系，完整掌握单线程管理成千上万连接的技术全貌。</description>
    </item>
    <item>
      <title>Linux IO 模型</title>
      <link>https://yaocat.cloud/posts/io/linuxiomodels/</link>
      <pubDate>Tue, 13 Sep 2022 15:28:58 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/io/linuxiomodels/</guid>
      <description>阻塞、非阻塞、多路复用、信号驱动、异步 IO 五大模型。通过 Mermaid 图解与 C API 示例，从操作系统原理层面掌握 IO 的本质</description>
    </item>
    <item>
      <title>RandomAccessFile 文件指针与任意位置读写</title>
      <link>https://yaocat.cloud/posts/io/randomaccessfile/</link>
      <pubDate>Mon, 12 Sep 2022 15:12:46 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/io/randomaccessfile/</guid>
      <description>掌握文件指针、任意位置读写、多线程分段下载原理与实现</description>
    </item>
    <item>
      <title>Java IO 进阶</title>
      <link>https://yaocat.cloud/posts/io/datastreamandserialization/</link>
      <pubDate>Fri, 09 Sep 2022 14:50:18 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/io/datastreamandserialization/</guid>
      <description>Java IO 进阶：掌握 DataInputStream/DataOutputStream 读写基本类型、PrintStream/PrintWriter 打印流、以及对象序列化与反序列化的核心用法与常见陷阱</description>
    </item>
    <item>
      <title>Java IO 编码与桥接</title>
      <link>https://yaocat.cloud/posts/io/javaencodingandbridge/</link>
      <pubDate>Fri, 09 Sep 2022 14:46:44 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/io/javaencodingandbridge/</guid>
      <description>掌握 ASCII、GBK、UTF-8 编码原理，学会用 InputStreamReader/OutputStreamWriter 彻底解决中文乱码问题</description>
    </item>
    <item>
      <title>Java IO 缓冲流与装饰器模式</title>
      <link>https://yaocat.cloud/posts/io/bufferedstreamanddecorator/</link>
      <pubDate>Fri, 09 Sep 2022 14:21:50 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/io/bufferedstreamanddecorator/</guid>
      <description>剖析缓冲流（BufferedInputStream / BufferedOutputStream / BufferedReader / BufferedWriter）的原理、性能对比与装饰器设计模式</description>
    </item>
    <item>
      <title>Java IO API 基础入门</title>
      <link>https://yaocat.cloud/posts/io/javaioapibasics/</link>
      <pubDate>Wed, 07 Sep 2022 14:21:50 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/io/javaioapibasics/</guid>
      <description>Java IO API 基础入门，涵盖 File 类、字节流（FileInputStream/FileOutputStream）与字符流（FileReader/FileWriter）的核心用法与常见陷阱</description>
    </item>
    <item>
      <title>Phaser 可重用动态线程同步屏障</title>
      <link>https://yaocat.cloud/posts/concurrency/phaser/</link>
      <pubDate>Wed, 07 Sep 2022 11:51:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/phaser/</guid>
      <description>从多阶段并行计算的同步困境出发，逐层拆解 Phaser 的 64 位状态字打包、双 Treiber 栈线程编排机制、arrive/advance/register 核心流程，以及与 CountDownLatch/CyclicBarrier 的对比。</description>
    </item>
    <item>
      <title>JUC 源码阅读路线图</title>
      <link>https://yaocat.cloud/posts/concurrency/jucsourcereadingguide/</link>
      <pubDate>Tue, 06 Sep 2022 09:00:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/jucsourcereadingguide/</guid>
      <description>一份面向源码阅读者的 JUC 完整导读路线图。覆盖 LockSupport、AQS、ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier、ConcurrentHashMap、ThreadPoolExecutor、ThreadLocal 等 18 个组件的 JDK 位置、推荐阅读顺序、函数调用链、重点方法与设计思想。</description>
    </item>
    <item>
      <title>CyclicBarrier 可循环屏障</title>
      <link>https://yaocat.cloud/posts/concurrency/cyclicbarrier/</link>
      <pubDate>Mon, 05 Sep 2022 09:30:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/cyclicbarrier/</guid>
      <description>从多线程分片计算等所有人到齐的场景出发，逐层拆解 CyclicBarrier 的六大核心字段、dowait() 完整调用链、Generation 代际机制、broken 状态触发条件，以及与 CountDownLatch 的关键差异。</description>
    </item>
    <item>
      <title>ThreadLocal 线程池上下文传递</title>
      <link>https://yaocat.cloud/posts/concurrency/threadlocal/</link>
      <pubDate>Mon, 05 Sep 2022 09:15:00 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/threadlocal/</guid>
      <description>从线程池环境下父子线程传值失败的真实场景出发，逐层拆解 ThreadLocal 三层架构、InheritableThreadLocal 源码实现与三大缺陷（线程池失效、浅拷贝、静态传递），以及 TransmittableThreadLocal 如何通过 capture/replay/restore 机制在源码层面解决这些问题。</description>
    </item>
    <item>
      <title>ScheduledThreadPoolExecutor 定时调度增强</title>
      <link>https://yaocat.cloud/posts/concurrency/scheduledthreadpoolexecutor/</link>
      <pubDate>Sun, 04 Sep 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/scheduledthreadpoolexecutor/</guid>
      <description>深入 ScheduledThreadPoolExecutor：从 DelayedWorkQueue 自建二叉堆、ScheduledFutureTask 三态周期模型（period&amp;gt;0/=0/&amp;lt;0）、delayedExecute/reExecutePeriodic 双通道调度，到 scheduleAtFixedRate 与 scheduleWithFixedDelay 的底层源码差异，以及 Spring @Scheduled 整合实战全解析。</description>
    </item>
    <item>
      <title>CompletableFuture 异步编排</title>
      <link>https://yaocat.cloud/posts/concurrency/completablefuture/</link>
      <pubDate>Sat, 03 Sep 2022 08:52:40 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/completablefuture/</guid>
      <description>从 Future 的阻塞痛点出发，深入拆解 CompletableFuture 的内部数据结构（Completion 链表）、异步编排原理、核心源码调用链，并梳理其在 Spring、RocketMQ、Netty 等中间件中的实际应用。</description>
    </item>
    <item>
      <title>ThreadPoolExecutor 源码解析</title>
      <link>https://yaocat.cloud/posts/concurrency/threadpoolexecutor/</link>
      <pubDate>Fri, 02 Sep 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/threadpoolexecutor/</guid>
      <description>从线程创建开销切入，深入 ThreadPoolExecutor：Worker 类 AQS 实现、ctl 位运算、生命周期状态机、execute/addWorker/runWorker/getTask/processWorkerExit/tryTerminate 完整调用链、四种拒绝策略源码逐行解析，以及阿里巴巴规范、动态线程池框架与参数调优困难分析。</description>
    </item>
    <item>
      <title>ForkJoinPool 源码深度解析</title>
      <link>https://yaocat.cloud/posts/concurrency/forkjoinpool/</link>
      <pubDate>Fri, 02 Sep 2022 08:29:29 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/forkjoinpool/</guid>
      <description>从分治算法和工作窃取的设计思想切入，逐层拆解 ForkJoinPool 的核心数据结构（ctl 64 位控制字 &#43; WorkQueue 双端队列 &#43; ForkJoinTask 状态机）、外部提交与子任务 fork 的完整调用链、scan 工作窃取算法、awaitJoin/helpStealer/tryCompensate 任务转让机制，以及与 ThreadPoolExecutor 的本质区别。</description>
    </item>
    <item>
      <title>BlockingQueue 设计解析：四组方法语义、锁机制分化与生产者-消费者模型的工程实践</title>
      <link>https://yaocat.cloud/posts/concurrency/blockingqueue/</link>
      <pubDate>Wed, 31 Aug 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/blockingqueue/</guid>
      <description>从接口设计哲学出发，逐层深入 BlockingQueue 的核心实现类、底层锁机制与线程协作模式，包括 ArrayBlockingQueue 单锁双 Condition、LinkedBlockingQueue 双锁分离与级联通知、以及各实现在线程池中的应用</description>
    </item>
    <item>
      <title>FutureTask 源码深度解析</title>
      <link>https://yaocat.cloud/posts/concurrency/futuretask/</link>
      <pubDate>Wed, 31 Aug 2022 08:29:29 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/futuretask/</guid>
      <description>从 Runnable 无返回值的问题切入，逐层拆解 FutureTask 的类继承体系、7 种状态的转换逻辑、CAS 无锁状态机、run/get/awaitDone 的完整调用链、Treiber 栈的等待队列实现，以及与 CompletableFuture 的对比和使用注意事项。</description>
    </item>
    <item>
      <title>ConcurrentLinkedQueue</title>
      <link>https://yaocat.cloud/posts/concurrency/concurrentlinkedqueue/</link>
      <pubDate>Sun, 28 Aug 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/concurrentlinkedqueue/</guid>
      <description>从高并发消息传递场景切入，深入 ConcurrentLinkedQueue 源码：Node 的 volatile 字段与 CAS 原子操作、基于 Michael-Scott 算法的无锁入队/出队流程、HOPS 延迟更新策略的性能权衡、以及 size() O(n) 遍历与弱一致性的使用代价。</description>
    </item>
    <item>
      <title>ConcurrentHashMap 深度解析：数据结构、线程安全与扩容机制</title>
      <link>https://yaocat.cloud/posts/concurrency/concurrenthashmap/</link>
      <pubDate>Sat, 27 Aug 2022 14:18:39 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/concurrenthashmap/</guid>
      <description>从数据结构到线程安全底层实现，深入解析 ConcurrentHashMap 的核心机制，包括 CAS、synchronized 锁粒度、sizeCtl 多义字段、多线程协同扩容 transfer 流程以及日常高频 API 用法。</description>
    </item>
    <item>
      <title>CopyOnWriteArrayList 源码深度解析</title>
      <link>https://yaocat.cloud/posts/concurrency/copyonwritearraylist/</link>
      <pubDate>Sat, 27 Aug 2022 08:29:29 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/copyonwritearraylist/</guid>
      <description>从 CopyOnWriteArrayList 的设计理念入手，逐层拆解 volatile 数组 &#43; ReentrantLock 的并发安全架构、写时复制的源码实现、COWIterator 快照迭代器的工作机制，以及与 Vector 的对比和使用注意事项。</description>
    </item>
    <item>
      <title>Semaphore 源码解析</title>
      <link>https://yaocat.cloud/posts/concurrency/semaphore/</link>
      <pubDate>Fri, 26 Aug 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/semaphore/</guid>
      <description>从限流场景切入，深入 Semaphore 源码：AQS 共享模式的 state 许可计数、公平/非公平获取的完整调用链、setHeadAndPropagate 传播唤醒机制、drainPermits 与 reducePermits 的内部实现，以及与 CountDownLatch、CyclicBarrier、ReentrantLock 的全维度对比。</description>
    </item>
    <item>
      <title>CountDownLatch 设计思想解析：一次性的共享门闩为什么这样设计</title>
      <link>https://yaocat.cloud/posts/concurrency/countdownlatch/</link>
      <pubDate>Fri, 26 Aug 2022 08:47:41 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/countdownlatch/</guid>
      <description>从设计哲学角度解析 CountDownLatch：为什么是一次性的、为什么用共享模式、state 单向递减的设计约束，以及与 CyclicBarrier 的设计取舍对比</description>
    </item>
    <item>
      <title>ReentrantReadWriteLock 深度解析：从读多写少场景到底层 state 拆分与锁降级</title>
      <link>https://yaocat.cloud/posts/concurrency/reentrantreadwritelock/</link>
      <pubDate>Thu, 25 Aug 2022 08:47:41 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/reentrantreadwritelock/</guid>
      <description>深入解析 ReentrantReadWriteLock 的使用场景、state 高低位拆分设计、读写锁获取与释放源码、锁降级与锁升级的阻塞原理</description>
    </item>
    <item>
      <title>ReentrantLock 源码解析</title>
      <link>https://yaocat.cloud/posts/concurrency/reentrantlock/</link>
      <pubDate>Wed, 24 Aug 2022 11:30:03 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/reentrantlock/</guid>
      <description>从使用场景切入，深入 ReentrantLock 源码：AQS 的 CLH 队列结构、公平/非公平锁的完整调用链、可重入性的 state 累加机制、Condition 条件变量的 await/signal 流程，以及与 synchronized 的全维度对比。</description>
    </item>
    <item>
      <title>LockSupport 深度解析：从 wait/notify 的痛点到底层 park/unpark 实现</title>
      <link>https://yaocat.cloud/posts/concurrency/locksupport/</link>
      <pubDate>Mon, 22 Aug 2022 08:47:41 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/locksupport/</guid>
      <description>深入解析 LockSupport 的设计原理、permit 机制、底层 UNSAFE.park 实现，以及与 wait/notify 的对比和 AQS 中的实际应用</description>
    </item>
    <item>
      <title>CAS 从硬件到 Java：MESI 视角下的原子操作与 12 个原子类</title>
      <link>https://yaocat.cloud/posts/concurrency/cas/</link>
      <pubDate>Sun, 21 Aug 2022 08:47:41 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/cas/</guid>
      <description>从 i&#43;&#43; 的多线程问题出发，用 Mermaid 图解展示两个 CPU 核心同时写入同一缓存行时 MESI 协议的完整交互过程，解释为什么需要 CAS（lock cmpxchg）作为硬件级的原子操作。然后逐一讲解 Java 原子类体系中 12 个类的基本用法和应用场景。</description>
    </item>
    <item>
      <title>synchronized 锁升级机制：从对象头到重量级锁的完整路径</title>
      <link>https://yaocat.cloud/posts/concurrency/synchronizedlockupgrade/</link>
      <pubDate>Sat, 20 Aug 2022 07:53:12 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/synchronizedlockupgrade/</guid>
      <description>synchronized 在 JDK 6 之后经历偏向锁→轻量级锁→重量级锁的升级路径。本文从 Mark Word 的位布局出发，用 Mermaid 图解展示每一级锁的数据结构、加锁/解锁的完整操作序列、以及锁状态转换的触发条件，结合 JOL 工具验证每个阶段的 Mark Word 变化，最后给出日常开发中的高频用法。</description>
    </item>
    <item>
      <title>volatile 如何填补 MESI 的两个缺口：Store Buffer 与 Invalidate Queue</title>
      <link>https://yaocat.cloud/posts/concurrency/volatile/</link>
      <pubDate>Fri, 19 Aug 2022 07:09:33 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/volatile/</guid>
      <description>Store Buffer 和 Invalidate Queue 是 MESI 协议的两个性能缺口，它们导致多线程写入无法即时可见。volatile 通过内存屏障填补这两个缺口，以约定的方式在 Java 语言层提供跨线程可见性。本文从 CPU 缓存结构出发，详解 volatile 的完整工作机制、四种内存屏障的含义，以及实际开发中的应用场景。</description>
    </item>
    <item>
      <title>JMM 如何借鉴 MESI：Java 内存模型的概念引入</title>
      <link>https://yaocat.cloud/posts/concurrency/jmmintroduction/</link>
      <pubDate>Thu, 18 Aug 2022 06:26:41 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/jmmintroduction/</guid>
      <description>MESI 在硬件层解决了缓存一致性问题，但留下了三个缺口——Store Buffer、Invalidate Queue、指令重排序。JMM 在 Java 语言层以软件契约的方式填补了这些缺口。本文以 MESI 为参照，引入 JMM 的核心概念和关键字。</description>
    </item>
    <item>
      <title>MESI 缓存一致性协议</title>
      <link>https://yaocat.cloud/posts/concurrency/mesiandjmm/</link>
      <pubDate>Thu, 18 Aug 2022 05:51:34 +0000</pubDate>
      <guid>https://yaocat.cloud/posts/concurrency/mesiandjmm/</guid>
      <description>从 CPU 缓存层级、缓存行结构、MESI 四种状态转换、总线监听机制，到 Store Buffer 与 Invalidate Queue 如何导致内存可见性问题，以及伪共享的成因、检测与修复。结合 Linux 内核与 HotSpot 源码佐证。</description>
    </item>
  </channel>
</rss>
