<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Forrest is Running</title><description>关于软件系统、AI 基础设施、Kubernetes 与持续学习的个人记录。</description><link>https://www.forrestisrunning.tech/</link><item><title>人生小笔记</title><link>https://www.forrestisrunning.tech/article/%E4%BA%BA%E7%94%9F%E5%B0%8F%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/%E4%BA%BA%E7%94%9F%E5%B0%8F%E7%AC%94%E8%AE%B0/</guid><description>年轻时最该做的，是 扩大世界、经营底座、勇敢试错、真实生活 。 剩下的，时间会给你答案。 为什么这是黄金窗口期 可塑性最高，试错成本相对最低 身体精力旺盛，能扛舟车劳顿和偶尔的不适 多看不同地域、文化、阶层的生活 → 大幅降低偏见与焦虑，打破信息茧房和路径依赖 新环境强制你解决问题、快速适应变化 最…</description><pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate><category>个人总结</category><category>思考</category></item><item><title>Embedding Model</title><link>https://www.forrestisrunning.tech/article/Embedding-Model/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/Embedding-Model/</guid><description>核心概念 向量数据库（如 Qdrant）不理解自然语言，只做数值相似度计算。让内容「可被检索」的能力完全来自 Embedding 模型的质量。 Dense Vector（语义向量） 512～4096 维稠密浮点数组 捕捉语义相似性，擅长同义词、跨语言、概念关联 例：「汽车」与「轿车」在向量空间中彼此…</description><pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate><category>技术分享</category><category>思考</category></item><item><title>Kueue</title><link>https://www.forrestisrunning.tech/article/kueue/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/kueue/</guid><description>kueue</description><pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate><category>技术分享</category><category>k8s</category><category>kueue</category></item><item><title>任务拆分&amp;优先级定义</title><link>https://www.forrestisrunning.tech/article/task-split-priority-definition/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/task-split-priority-definition/</guid><description>大任务拆分与优先级排序方法 1. 先按目标拆解 ：将大任务按照最终目标拆分成多个 可独立完成、成果可验证 的子任务，避免子任务间过度耦合。 2. 再多维度科学排序优先级 （推荐结合四象限法则 + 加权评分法）： 紧急性（Deadline） ：距离截止日期越近，优先级越高。 重要性（目标贡献度） ：对…</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate><category>个人总结</category><category>思考</category></item><item><title>读「阿里巴巴管理三板斧」</title><link>https://www.forrestisrunning.tech/article/alibaba-management-three-axes/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/alibaba-management-three-axes/</guid><description>阿里巴巴管理三板斧精髓框架 基层管理者（腿部三板斧）——必须练扎实的基本功 这是基础管理者每天都要关注的“三板斧”，直接决定团队能否站得稳、跑得快。 招开人 招人，一切战略的开始 选择大于培养 心要慈，刀要快 建团队 在用的过程中养人，在养人过程中用人 拿结果 目标就是结果，以结果为导向的努力才有用…</description><pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate><category>个人总结</category><category>思考</category></item><item><title>超大规模MaaS System Design</title><link>https://www.forrestisrunning.tech/article/MaaS-system-design/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/MaaS-system-design/</guid><description>设计一个可大规模扩展的 MaaS 平台：面向海量 LLM 推理的系统设计 在 AI 飞速发展的今天，Model as a Service（模型即服务，MaaS）平台已成为向开发者和企业交付大语言模型（LLM）的核心基础设施。类似阿里云 DashScope、AWS Bedrock、Azure AI、G…</description><pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate><category>LLM</category><category>system design</category></item><item><title>OpenAI API格式</title><link>https://www.forrestisrunning.tech/article/openai-api%E6%A0%BC%E5%BC%8F/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/openai-api%E6%A0%BC%E5%BC%8F/</guid><description>OpenAI API 格式详解 OpenAI API 提供了多种端点，用于处理文本生成、嵌入、图像、音频等任务 每个端点都支持通过 HTTP POST/GET 等方法调用，需要在请求头中包含 Authorization: Bearer YOUR API KEY 和 Content Type: app…</description><pubDate>Sun, 01 Feb 2026 00:00:00 GMT</pubDate><category>LLM</category><category>OpenAI</category></item><item><title>读「大模型训练与推理加速实战：基于CUDA计算平台（python版）」</title><link>https://www.forrestisrunning.tech/article/cuda/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/cuda/</guid><description>深入浅出CUDA：GPU并行计算的入门指南 在AI和大数据时代，GPU已成为加速计算的核心力量。CUDA（Compute Unified Device Architecture）作为NVIDIA推出的GPU编程框架， 让开发者能利用GPU的并行能力处理复杂任务 。 CUDA的核心基础概念 CUDA的…</description><pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate><category>LLM</category><category>cuda</category><category>LLM</category></item><item><title>初探 Volcano Scheduler</title><link>https://www.forrestisrunning.tech/article/volcano/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/volcano/</guid><description>本地安装 https://volcano.sh/zh/docs/installation/ Volcano 的 scheduler （volcano scheduler）是整个系统最核心的组件，它是一个 独立的自定义调度器 （custom scheduler）， 不替换 Kubernetes 原生的…</description><pubDate>Thu, 29 Jan 2026 00:00:00 GMT</pubDate><category>k8s</category><category>volcano</category><category>k8s</category></item><item><title>读「大模型时代的基础架构：大模型算力中心建设指南」</title><link>https://www.forrestisrunning.tech/article/%E8%AF%BB%E3%80%8C%E5%A4%A7%E6%A8%A1%E5%9E%8B%E6%97%B6%E4%BB%A3%E7%9A%84%E5%9F%BA%E7%A1%80%E6%9E%B6%E6%9E%84-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%AE%97%E5%8A%9B%E4%B8%AD%E5%BF%83%E5%BB%BA%E8%AE%BE%E6%8C%87%E5%8D%97%E3%80%8D/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/%E8%AF%BB%E3%80%8C%E5%A4%A7%E6%A8%A1%E5%9E%8B%E6%97%B6%E4%BB%A3%E7%9A%84%E5%9F%BA%E7%A1%80%E6%9E%B6%E6%9E%84-%E5%A4%A7%E6%A8%A1%E5%9E%8B%E7%AE%97%E5%8A%9B%E4%B8%AD%E5%BF%83%E5%BB%BA%E8%AE%BE%E6%8C%87%E5%8D%97%E3%80%8D/</guid><description>第1章 AI与大模型时代对于基础架构的需求 机器学习的核心认知 机器学习算法（尤以大模型、AI 为代表），本质是通过叠加多个线性幂函数，逼近现实世界的数学模型；计算这些函数的核心过程是 调参 ，该过程涉及海量乘加运算，因此具备并行乘加能力的 GPU、TPU 等专用硬件，在该场景下的性价比远高于通用…</description><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate><category>LLM</category><category>LLM</category><category>笔记</category></item><item><title>AI 时代下的 Kubernetes 调度器：架构、挑战与演进路径</title><link>https://www.forrestisrunning.tech/article/k8s-scheduler/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/k8s-scheduler/</guid><description>1. 引言：Kubernetes 编排的核心 Kubernetes 调度器（ kube scheduler ）是负责将 Pod 分配到节点（Node）的核心控制平面组件。尽管它在微服务时代表现卓越，但随着 人工智能（AI）和机器学习（ML） 工作负载的爆发式增长，其原始设计已逐渐触及瓶颈。本文将深入…</description><pubDate>Sat, 24 Jan 2026 00:00:00 GMT</pubDate><category>k8s</category><category>LLM</category><category>scheduler</category><category>k8s</category></item><item><title>Knative Service 多版本管理指南</title><link>https://www.forrestisrunning.tech/article/knative-mutil-service-revision/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/knative-mutil-service-revision/</guid><description>本文档说明如何使用 Knative Service 管理 APP 的多个版本（Revision），通过 Tag 和 Header 实现版本路由。 概念映射 业务概念 Knative 概念 说明 APP Knative Service 一个应用对应一个 Knative Service APP 版本 R…</description><pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate><category>knative</category><category>Knative</category></item><item><title>深度学习模型架构解析：以Encoder-Decoder为核心的分类体系</title><link>https://www.forrestisrunning.tech/article/encoder-decoder/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/encoder-decoder/</guid><description>引言 自2017年Vaswani等人发表的论文《Attention Is All You Need》中首次提出Transformer架构以来，深度学习领域，特别是自然语言处理（NLP）发生了革命性的变化 [1]。Transformer模型完全摒弃了以往主流的循环神经网络（RNN）和卷积神经网络（CN…</description><pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate><category>LLM</category><category>LLM</category></item><item><title>Knative + Istio 环境下的会话亲和性实现方案</title><link>https://www.forrestisrunning.tech/article/knative-istio-session-affinity/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/knative-istio-session-affinity/</guid><description>摘要 本文针对 Knative Serving 与 Istio Service Mesh 集成场景，提出一套完整的会话亲和性（Session Affinity）解决方案。该方案在保证会话保持能力的同时，通过 Sidecar 资源配置和 Passthrough 流程优化，显著降低 Istio Side…</description><pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate><category>knative</category><category>Knative</category></item><item><title>从模型视角看上下文工程</title><link>https://www.forrestisrunning.tech/article/from-model-perspective-context-engineering/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/from-model-perspective-context-engineering/</guid><description>从模型视角看上下文工程 模型训练完成后固定的参数 训练完的 Transformer 其实已经“死”了。 所有权重、所有偏置、所有 LayerNorm 的 γ/β、词表 embedding、输出头的投影矩阵……全部冻结，再也不会变了。 从这一刻起，它不再是一个学习机器，而变成了一个极其巨大、极其复杂的…</description><pubDate>Mon, 12 Jan 2026 00:00:00 GMT</pubDate><category>agentic</category><category>LLM</category><category>context- engineering</category></item><item><title>Kubelet → CRI → containerd/CRI-O → runc/kata：Kubernetes 容器运行时完整调用链</title><link>https://www.forrestisrunning.tech/article/kubernetes-container-runtime-chain-kubelet-to-kernel/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/kubernetes-container-runtime-chain-kubelet-to-kernel/</guid><description>Kubernetes 容器运行时的完整调用链路，从 自顶向下 （top down）视角来看，大致是这样的一个分层结构： kubelet（节点代理） 位置 ：Kubernetes 集群每个 Node 上运行的核心组件。 作用 ：负责管理本节点上的所有 Pod（创建、启动、监控、销毁、状态上报等）。 原…</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate><category>k8s</category><category>k8s</category><category>containerRuntime</category></item><item><title>KEDA</title><link>https://www.forrestisrunning.tech/article/keda/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/keda/</guid><description>KEDA 架构总结 KEDA（Kubernetes Event Driven Autoscaling）是一个开源的 Kubernetes 组件，用于基于外部事件（如消息队列长度、数据库指标或 Prometheus 查询结果）动态缩放工作负载。它与 Kubernetes 原生 Horizontal P…</description><pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate><category>技术分享</category><category>KEDA</category><category>Serverless</category></item><item><title>Function Calling、MCP、Skill 三者本质区别与适用场景</title><link>https://www.forrestisrunning.tech/article/skill/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/skill/</guid><description>一、Skill 的本质与核心设计（2025.10 开放标准） Skill 是一个 文件夹 ，里面至少包含一个 SKILL.md 文件（YAML 前言 + Markdown 正文），可选包含： scripts/ ：可执行脚本（Python、Bash、JS 等） references/ ：参考文档、模板…</description><pubDate>Sun, 04 Jan 2026 00:00:00 GMT</pubDate><category>agentic</category><category>skill</category><category>LLM</category><category>agent</category></item><item><title>2025年终总结</title><link>https://www.forrestisrunning.tech/article/2025-summary/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/2025-summary/</guid><description>🥅 今天是2026.1.1早上7.30，25年很快就过去了，24年有写过一篇年终总结，25年也来一篇吧。 timeline 2.21 UCloud 容器组提前实习 参与UK8S相关组件的维护和开发 5.28 DP Tech 提前实习 作为核心开发，参与bohrium 首页科学导航（SN） 数据治理…</description><pubDate>Thu, 01 Jan 2026 00:00:00 GMT</pubDate><category>个人总结</category><category>思考</category></item><item><title>Nginx</title><link>https://www.forrestisrunning.tech/article/nginx/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/nginx/</guid><description>Nginx 的设计哲学是 事件驱动 + 异步非阻塞 + 模块化 ，这让它在单机上轻松处理 数十万并发连接 ，内存占用极低，CPU 利用率极高。 进程模型（Master + Worker + 辅助进程） Nginx 启动后会产生以下进程： Master 进程 （1 个，通常 root 启动） 读取、解…</description><pubDate>Thu, 25 Dec 2025 00:00:00 GMT</pubDate><category>技术分享</category><category>nginx</category></item><item><title>MCP</title><link>https://www.forrestisrunning.tech/article/MCP/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/MCP/</guid><description>是什么 bookmark MCP(Model Context Protocol，由Anthropic主导)是一个基于 JSON RPC 2.0 的协议，用来规范Agent如何以“统一、可扩展、可编程”的方式调用外部能力（Tools / Resources / Prompts）。 标准化的“ 工具注册…</description><pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate><category>agentic</category><category>思考</category><category>MCP</category><category>A2A</category></item><item><title>Knative Architecture</title><link>https://www.forrestisrunning.tech/article/Knative-Architecture/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/Knative-Architecture/</guid><description>Serving 关键组件 Activator 核心作用是处理 缩容至零（scale to zero） 的 Knative Service 请求：接收并排队这类请求，同时与 Autoscaler 通信触发服务扩缩容，待服务启动后转发排队请求；也可作为请求缓冲器，应对流量突发场景。 Autoscaler…</description><pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate><category>knative</category><category>k8s</category><category>Knative</category></item><item><title>CloudEvents</title><link>https://www.forrestisrunning.tech/article/CloudEvents/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/CloudEvents/</guid><description>是什么 CloudEvents 是由 CNCF 推动的 事件数据标准规范 ，用于以统一的事件格式描述分布式系统中发生的关键状态变化，核心维度包括： Who ：事件来源主体 When ：事件发生时间 What happened ：发生了什么事件 Data ：随事件携带的业务数据 其主要设计目标是： 降…</description><pubDate>Sun, 07 Dec 2025 00:00:00 GMT</pubDate><category>k8s</category><category>k8s</category><category>cloudEvents</category></item><item><title>阿里云核心服务概念梳理： FC / ECS /ECI / ACK /ACS</title><link>https://www.forrestisrunning.tech/article/alicloud-fc-ecs-ack-eci-overview/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/alicloud-fc-ecs-ack-eci-overview/</guid><description>阿里云产品中有不少词汇，乍一看不知道什么意思，做一个小结。 FC：Function Compute (函数计算) FC 是阿里云提供的 事件驱动 的 无服务器计算服务 。 核心理念： 运行代码， 无需管理服务器 。用户只需编写和上传代码，FC 会自动管理计算资源。 按事件触发： 代码执行由事件触发（…</description><pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate><category>技术分享</category><category>aliyun</category></item><item><title>Knative Hands-on</title><link>https://www.forrestisrunning.tech/article/knative-hands-on/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/knative-hands-on/</guid><description>前置条件 kind集群搭建 Kind相关操作 Forrest’s 博客 knatieve cli安装 Installing the Knative CLI Knative CRD &amp; controller Install serving Install Serving with YAML Knati…</description><pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate><category>knative</category><category>k8s</category><category>Knative</category></item><item><title>Knative-Overview</title><link>https://www.forrestisrunning.tech/article/knative-overview/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/knative-overview/</guid><description>是什么？ Knative 由 Google 主导发起，于 2025 年 10 月正式从 CNCF Incubating 级别毕业，成为 Graduated 项目，已确立为 Kubernetes 生态中 Serverless 的标准实现之一。 Knative 是基于 Kubernetes 的 Serv…</description><pubDate>Fri, 05 Dec 2025 00:00:00 GMT</pubDate><category>knative</category><category>Knative</category><category>k8s</category></item><item><title>Prompt Engineering</title><link>https://www.forrestisrunning.tech/article/prompt-engineering/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/prompt-engineering/</guid><description>🥅 从方法论角度总结常用的 Prompt 技法。 提示工程的核心方法论 提示技术 提示工程本质上是在 不改变模型权重 的情况下，通过精心设计的输入文本，最大化引导大语言模型产生期望输出的过程。 它可以被看作以下几个层级的递进式优化策略： 1. 基础层 ：让模型“明白我要什么” 2. 示范层 ：让模…</description><pubDate>Tue, 02 Dec 2025 00:00:00 GMT</pubDate><category>agentic</category><category>prompt</category></item><item><title>Agent</title><link>https://www.forrestisrunning.tech/article/agent/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/agent/</guid><description>Agent = LLM（思考） + Tools（行动） 宽泛来说，AI Agent可以被定义为一个应用程序，通过观察周围世界并使用可用的工具，来实现目标。 工具的使用，是人类区别于动物的标志——也是Agent区别于大模型的标志。 工具作为 Agent 通往外部世界的关键，使 Agent 能够与外部系…</description><pubDate>Sun, 30 Nov 2025 00:00:00 GMT</pubDate><category>agentic</category><category>agent</category></item><item><title>vLLM 初体验</title><link>https://www.forrestisrunning.tech/article/vLLM/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/vLLM/</guid><description>vLLM 1. 传统内存分配的痛点（为什么浪费严重） KV Cache 需要连续大块内存 ：自回归生成时，序列长度动态增长 → 必须提前预分配一大段连续显存。 两大碎片化问题 ： 内部碎片 ：预分配过多，实际用不完的部分空闲浪费。 外部碎片 ：请求结束释放后，显存出现很多小空洞 → 无法放入新的大请…</description><pubDate>Sat, 29 Nov 2025 00:00:00 GMT</pubDate><category>agentic</category><category>hands-on</category><category>LLM</category></item><item><title>分词</title><link>https://www.forrestisrunning.tech/article/tokenizer/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/tokenizer/</guid><description>一、为什么要分词 考虑一个简单的句子 Hello world ，不分词直接拆成字符：H、e、l、l、o、空格、w、o、r、l、d共11个字符： 语义完全丢失 一个复杂的句子或片段拆分出来的字母序列非常长 考虑直接空格分词： 中文没有空格，多语言不支持 Token 和 Tokenization 语义相…</description><pubDate>Thu, 27 Nov 2025 00:00:00 GMT</pubDate><category>agentic</category><category>LLM</category></item><item><title>prometheus为代表的监控构建</title><link>https://www.forrestisrunning.tech/article/prometheus%E4%B8%BA%E4%BB%A3%E8%A1%A8%E7%9A%84%E7%9B%91%E6%8E%A7%E6%9E%84%E5%BB%BA/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/prometheus%E4%B8%BA%E4%BB%A3%E8%A1%A8%E7%9A%84%E7%9B%91%E6%8E%A7%E6%9E%84%E5%BB%BA/</guid><description>背景 系统稳定性差，接口p99延时长；队列消费时间久；系统ttft久；亟需一个完整的监控系统来指导线上问题预测与排查。 相关的基础概念 时间序列（Time series） ：由固定的 metric name + labels 唯一标识的一组（有时间戳的）样本点序列。 例： http requests…</description><pubDate>Wed, 26 Nov 2025 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>深入解析 Kubernetes Informer 架构</title><link>https://www.forrestisrunning.tech/article/k8s-informer/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/k8s-informer/</guid><description>引言 在构建 Kubernetes 控制器（Controller）时，与 kube apiserver 的交互是其核心功能之一。一个健壮、高效的控制器需要能够及时响应集群中资源（如 Pods, Deployments 等）的状态变化，并执行相应的调谐逻辑（Reconciliation）。然而，直接、…</description><pubDate>Sun, 23 Nov 2025 00:00:00 GMT</pubDate><category>k8s</category><category>k8s</category></item><item><title>服务网格 | istio</title><link>https://www.forrestisrunning.tech/article/istio/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/istio/</guid><description>服务网格 （Service Mesh） 核心理念 在微服务架构中，把服务间通信相关的逻辑（流量治理、安全、可观测性）从业务代码里剥离出来，交给一个独立的基础设施层去做。 服务网格起源 ：2016 年，William Morgan 提出；2017 年 Linkerd、Istio 等service me…</description><pubDate>Sun, 16 Nov 2025 00:00:00 GMT</pubDate><category>istio</category><category>k8s</category><category>istio</category></item><item><title>限流、熔断与降级：微服务高可用性的核心保障机制</title><link>https://www.forrestisrunning.tech/article/rate-limiting-circuit-breaker-fallback/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/rate-limiting-circuit-breaker-fallback/</guid><description>在分布式系统中，服务间依赖关系复杂，任何一点异常都可能引发连锁反应。限流、熔断、降级是应对流量冲击、故障传播和部分失效的三大利器，三者配合使用，能显著提升系统的稳定性和用户体验。本文结合实际代码，系统梳理三者的概念、关系、实践方法与最佳配置。 一、核心概念 1. 限流（Rate Limiting）…</description><pubDate>Sun, 28 Sep 2025 00:00:00 GMT</pubDate><category>技术分享</category><category>限流</category><category>熔断</category><category>降级</category></item><item><title>在k8s环境中使用vgpu | HAMI</title><link>https://www.forrestisrunning.tech/article/hami/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/hami/</guid><description>如何使用GPU？ 省流版本： 对于裸机环境，只需要安装对应的 GPU Driver 以及 CUDA Toolkit 。 对应 Docker 环境，需要额外安装 nvidia container toolkit 并配置 docker 使用 nvidia runtime。 对应 k8s 环境，需要额外安…</description><pubDate>Sat, 23 Aug 2025 00:00:00 GMT</pubDate><category>HAMI</category><category>scheduler</category><category>k8s</category><category>gpu</category><category>vgpu</category></item><item><title>A2A</title><link>https://www.forrestisrunning.tech/article/A2A/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/A2A/</guid><description>A2A是什么 A2A（Agent2Agent Protocol，Agent间协议） 是由Google于2025年4月推出、同年6月捐赠给Linux基金会的 开放协议 （现由Linux基金会中立治理，Apache 2.0许可）。 解决跨agent框架通讯问题：A2A是 AI Agent之间的“通用通讯…</description><pubDate>Sun, 17 Aug 2025 00:00:00 GMT</pubDate><category>agentic</category><category>A2A</category><category>agent</category></item><item><title>SSE</title><link>https://www.forrestisrunning.tech/article/SSE/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/SSE/</guid><description>SSE介绍 SSE（Server Sent Events，服务器发送事件）是一种基于 HTTP 的协议，允许 服务器主动向浏览器推送数据 。它常用于实时更新页面数据，比如消息推送、实时行情、通知等场景。 SSE 是一种 单向通信协议 ： 服务器 → 客户端 ，只能由服务器发送数据到客户端； 使用的是…</description><pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate><category>技术分享</category><category>SSE</category></item><item><title>kubebuilder 总结</title><link>https://www.forrestisrunning.tech/article/kubebuilder/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/kubebuilder/</guid><description>kuberbuilder是什么 Kubebuilder 是一个用于构建 Kubernetes API 和控制器的框架 基本概念 为了更好的使用kubebuilder，可以先看看一下的基础概念。 CRD是什么 CRD（Custom Resource Definition）是k8s中扩展API的方式，它…</description><pubDate>Sun, 27 Apr 2025 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>我的MBTI</title><link>https://www.forrestisrunning.tech/article/MBTI/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/MBTI/</guid><description>BMTI是什么 MBTI由四个维度上的不同偏好构成 心理学认为，“性格”是一种个体内部的行为倾向，它具有整体性、结构性、持久稳定性等特点，是每个人特有的，可以对个人外显的行为、态度提供统一的、内在的解释。MBTI把人的性格分为十六种类型，由四个维度上的不同偏好构成： 第一部分：我们与外界相互作用的程…</description><pubDate>Thu, 17 Apr 2025 00:00:00 GMT</pubDate><category>个人总结</category><category>MBTI</category></item><item><title>GMP</title><link>https://www.forrestisrunning.tech/article/GMP/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/GMP/</guid><description>进程 线程 协程 进程是资源分配单位，有独立内存空间； 线程是调度单位，共享进程内存，但有独立栈； 协程是用户态轻量线程，由程序调度，切换极快，一个线程可跑几万协程 进程（Process） 是操作系统 资源分配 的最小单位。 每个进程拥有独立的地址空间、文件描述符、堆、栈等资源。 进程间切换代价最大…</description><pubDate>Wed, 16 Apr 2025 00:00:00 GMT</pubDate><category>Golang</category><category>Golang</category></item><item><title>版本控制规范</title><link>https://www.forrestisrunning.tech/article/sematic/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/sematic/</guid><description>版本号格式 版本号格式为：X.Y.Z（主版本号.次版本号.修订号） 版本号递增规则 1. 主版本号 (X) 当你做了不兼容的 API 修改时，递增主版本号 例如：从 1.0.0 变成 2.0.0 2. 次版本号 (Y) 当你添加了向下兼容的新功能时，递增次版本号 例如：从 1.0.0 变成 1.1.…</description><pubDate>Tue, 18 Mar 2025 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>kafka学习笔记</title><link>https://www.forrestisrunning.tech/article/kafka/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/kafka/</guid><description>kafka是什么 kafka是一个分布式的、基于日志流处理的系统，通过broker、topic、partition和replica的协同工作，实现了高性能、高可用和可扩展的消息传递，适合实时数据管道、日志收集、时间溯源等场景。 具体的使用，代码可以参考repo kafka example 基础概念…</description><pubDate>Mon, 17 Mar 2025 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>如何构建一个短链系统</title><link>https://www.forrestisrunning.tech/article/short-url/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/short-url/</guid><description>典型读多写少的场景，需要考虑高并发的读取的场景。所以缓存和恶意请求需要处理得当。 对于长链接转短链接的场景 参数校验 1. 判断长链接能够访问通 2. 判断长链接不是一个短链接（防止循环转链） 构造链接 1. 发号器发号（可以是redis的string、mysql的主键或雪花算法生成的id），给这个…</description><pubDate>Tue, 04 Mar 2025 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>mac VMware Fusion 虚拟机安装</title><link>https://www.forrestisrunning.tech/article/mac-vmware-fusion/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/mac-vmware-fusion/</guid><description>语言选择，默认英语即可，按回车 网络配置 设置主机的address为 192.168.54.100 选择安装 ssh server Reference bookmark</description><pubDate>Sun, 02 Mar 2025 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>MongoDB 总结</title><link>https://www.forrestisrunning.tech/article/MongoDB/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/MongoDB/</guid><description>MongoDB是什么 MongoDB 是一个基于 分布式文件存储 的开源 NoSQL 数据库系统，由 C++ 编写的。MongoDB 提供了 面向文档 的存储方式，操作起来比较简单和容易，支持“ 无模式 ”的数据建模，可以存储比较复杂的数据类型，是一款非常流行的 文档类型数据库 。 在高负载的情况下…</description><pubDate>Sat, 01 Mar 2025 00:00:00 GMT</pubDate><category>技术分享</category><category>mongoDB</category></item><item><title>K8s网络深度解析：CNI、VXLAN与主流插件的实现差异</title><link>https://www.forrestisrunning.tech/article/k8s-network/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/k8s-network/</guid><description>引言 在 Kubernetes (K8s) 的世界里，网络是连接和驱动整个分布式系统的命脉，但其复杂性也常常令人望而生畏。容器网络接口（Container Network Interface, CNI）作为一套标准化的插件规范，为各类网络方案的接入提供了可能。然而，不同的 CNI 插件在实现跨节点通…</description><pubDate>Tue, 25 Feb 2025 00:00:00 GMT</pubDate><category>k8s</category><category>network</category><category>k8s</category></item><item><title>Golang map</title><link>https://www.forrestisrunning.tech/article/golang-map/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/golang-map/</guid><description>go的map 底层数据结构 go使用拉链法实现了hashMap slot中有多个bucket 每个bucket中存放，hash后 得mod相同的k&amp;v 每一个bucket中存放hash key的高8bit 桶超出8个数据后，机会将数据存储在溢出桶中 扩容过程 为什么需要扩容 map的溢出桶太多会严重…</description><pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate><category>Golang</category></item><item><title>深入理解 IO 多路复用：从 select、poll 到 epoll 的演进</title><link>https://www.forrestisrunning.tech/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3-io-%E5%A4%9A%E8%B7%AF%E5%A4%8D%E7%94%A8-%E4%BB%8E-select%E3%80%81poll-%E5%88%B0-epoll-%E7%9A%84%E6%BC%94%E8%BF%9B/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3-io-%E5%A4%9A%E8%B7%AF%E5%A4%8D%E7%94%A8-%E4%BB%8E-select%E3%80%81poll-%E5%88%B0-epoll-%E7%9A%84%E6%BC%94%E8%BF%9B/</guid><description>深入理解 IO 多路复用：从 select、poll 到 epoll 的演进 引言：C10K 问题与网络编程的挑战 在构建高性能网络服务的场景中，经典的 C10K 问题（即单台服务器同时处理一万个客户端连接）是核心挑战之一。 传统的“一个连接一个进程”或“一个连接一个线程”模型，在面对大规模并发时，…</description><pubDate>Sun, 09 Feb 2025 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>如何避免channel重复关闭</title><link>https://www.forrestisrunning.tech/article/reclosed-channel/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/reclosed-channel/</guid><description>channel不能被重复关闭，那么该如何避免重复关闭？ 方法一：利用closed channel读取的特性 方法二：利用sync once 来保证channel最多被关闭一次 方法三：利用标记位</description><pubDate>Thu, 06 Feb 2025 00:00:00 GMT</pubDate><category>Golang</category></item><item><title>Kube-proxy 机制深度解析：API Server 交互与 iptables 规则生成</title><link>https://www.forrestisrunning.tech/article/kube-proxy/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/kube-proxy/</guid><description>摘要 kube proxy 是 Kubernetes 集群中负责 Service 抽象和负载均衡的核心网络组件。它作为控制平面（Control Plane）与数据平面（Data Plane）之间的桥梁，通过持续监控 API Server 中的 Service 和 EndpointSlice 资源，将…</description><pubDate>Sun, 26 Jan 2025 00:00:00 GMT</pubDate><category>k8s</category><category>k8s</category><category>kube-proxy</category></item><item><title>openEBS lvm_localpv</title><link>https://www.forrestisrunning.tech/article/openEBS-lvm-localpv/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/openEBS-lvm-localpv/</guid><description>背景 一直想学习CSI相关内容，恰好自己对LVM比较熟悉，openEBS lvm localpv 有实现CSI，那么就来看看其具体实现吧https://github.com/openebs/lvm localpv LVM背景 可以参考我之前写的博客 bookmark CSI文档 https://gi…</description><pubDate>Sat, 25 Jan 2025 00:00:00 GMT</pubDate><category>k8s</category><category>k8s</category></item><item><title>CNI In k8s</title><link>https://www.forrestisrunning.tech/article/CNI/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/CNI/</guid><description>深入剖析 CNI：容器网络的标准化框架 在容器化应用架构中，网络构成分布式系统的核心连接机制。容器本质上通过隔离机制（如网络命名空间）实现独立性，但需支持高效的内部和跨节点通信。这正是 Container Network Interface (CNI) 的核心价值所在。作为一套标准化接口规范和插件实…</description><pubDate>Fri, 24 Jan 2025 00:00:00 GMT</pubDate><category>k8s</category></item><item><title>常见的网络设备</title><link>https://www.forrestisrunning.tech/article/network-devices/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/network-devices/</guid><description>交换机 是什么 交换机是一种网络设备，用于在局域网中连接多个网络设备（员工电脑、服务器、打印机等），基于mac地址转发数据帧。 其中，按照功能分类，有两种交换机： 1. 二层交换机 1. 基于mac地址转发数据 2. 主要用于局域网中的基本连接 2. 三层交换机 1. 继承了路由功能，可以基于IP地…</description><pubDate>Fri, 24 Jan 2025 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>Golang channel</title><link>https://www.forrestisrunning.tech/article/channel/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/channel/</guid><description>数据结构 channel的地层数据结构为 hchan waitq为阻塞的协程队列 sudog用于包装协程的节点 其中的 mutex 是runtime包中，给系统运行时使用的互斥锁，使用更加地层，其直接基于semaphore原语 0表示未锁定 1表示锁定 其他值表示有等待者 每次调用semaphore…</description><pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate><category>Golang</category></item><item><title>高可用的常见手段</title><link>https://www.forrestisrunning.tech/article/ha/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/ha/</guid><description>高可用是一个复杂的命题。日常的运维操作例如服务升级、硬件更新、数据迁移等都会造成服务等宕机，尤其是在功能上线周期越来越短、发布越来越频繁的开发模式下，实现“4个9”或“5个9”高可用的难度不言而喻。简单来说，在设计时要避免单点故障：路由、防火墙、负载均衡、反向代理以及监控都得是冗余设计，以此来保证最…</description><pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>k8s架构简介</title><link>https://www.forrestisrunning.tech/article/k8s-architecture/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/k8s-architecture/</guid><description>Kubernetes是什么 Kubernetes 这个名字源于希腊语，意为舵手、飞行员。由于第一个字母K和最后一个字母s之间有八个字符的关系，所以一般缩写成 K8s。 k8s源于google内部的管理系统Borg。过去十几年来google一直使用Borg系统管理内部数量巨大的应用程序集群。Borg基…</description><pubDate>Fri, 10 Jan 2025 00:00:00 GMT</pubDate><category>k8s</category><category>k8s</category></item><item><title>基于Casbin的RBAC权限认证｜权限管理</title><link>https://www.forrestisrunning.tech/article/casbin/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/casbin/</guid><description>k8s中的权限管理 在k8s中的权限管理默认是使用的的RBAC，其中主要包含这四个核心概念：Role、ClusterRole、RoleBinding和ClusterRole，比如下面的案例就是创建一个 role ,允许读取development namespace下的pod，将这个role 赋予us…</description><pubDate>Sun, 05 Jan 2025 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>2024年终总结</title><link>https://www.forrestisrunning.tech/article/2024-summary/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/2024-summary/</guid><description>📎 每次年末，翻看自己一年前的年终总结，总觉得以前的他傻傻的 timeline实习之旅 2月28日 上海 golang后端研发实习生 参与多个PHP业务基础服务重构为golang 7月1日 南京 技术管培生 参与IP监测站的构建 9月15日 北京 算力平台研发实习生 正式接触K8s 调研基于kub…</description><pubDate>Mon, 23 Dec 2024 00:00:00 GMT</pubDate><category>个人总结</category></item><item><title>CKA ✅</title><link>https://www.forrestisrunning.tech/article/CKA/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/CKA/</guid><description>2024 12 17日CKA ✅ 题目总结 可能有帮助的文档 bookmark</description><pubDate>Tue, 17 Dec 2024 00:00:00 GMT</pubDate><category>个人总结</category></item><item><title>Kind相关操作</title><link>https://www.forrestisrunning.tech/article/kind/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/kind/</guid><description>集群搭建 1node.yaml 3node.yaml 标准多节点配置，1 个控制平面 + 2 个工作节点 本地kind 集群搭建 集群删除</description><pubDate>Tue, 10 Dec 2024 00:00:00 GMT</pubDate><category>k8s</category><category>k8s</category></item><item><title>从0到1，利用kubevirt构建ubuntu虚拟机</title><link>https://www.forrestisrunning.tech/article/kubevirt/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/kubevirt/</guid><description>kubevirt是什么 一个开源项目，CNCF sandbox 将虚拟机（VM）运行引入了 k8s 集群中，使得用户可以在 k8s 中同时管理容器和虚拟机工作负载 帮助企业和开发者通过 k8s 统一管理虚拟机和容器，方便地运行和迁移传统的虚拟机工作负载到云原生环境中 特点 1. 虚拟机和容器共存 ：…</description><pubDate>Fri, 29 Nov 2024 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>iptables in linux</title><link>https://www.forrestisrunning.tech/article/iptables-in-linux/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/iptables-in-linux/</guid><description>iptables 是什么 Linux 系统中用于管理和操作网络包过滤规则的工具，是 Linux 内核中的 Netfilter 框架的用户态接口。它的主要作用是配置防火墙、网络地址转换（NAT）和流量控制规则，从而实现对进出网络的数据包进行监控和管理。 基本概念 三个主要的chains input：处…</description><pubDate>Tue, 19 Nov 2024 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>LVM</title><link>https://www.forrestisrunning.tech/article/LVM/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/LVM/</guid><description>📎 入门LVM，简单说说LVM中的LV、VG和PV，以及如何创建它们 存储的分类 按照物理介质分类 机械硬盘 HDD 特点：磁盘旋转存储，成本低，容量大，速度较慢（寻道时间影响数据的访问速度 优点：适合海量数据的存储）（冷数据、归档 缺点：随机读写性能差 固态硬盘SSD 特点：基于闪存芯片，随机读…</description><pubDate>Sun, 10 Nov 2024 00:00:00 GMT</pubDate><category>技术分享</category><category>笔记</category></item><item><title>HELM</title><link>https://www.forrestisrunning.tech/article/helm/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/helm/</guid><description>some basic concepts chart one helm package it containers all resources definitions necessary to run one application, tool, or service inside of a k8s…</description><pubDate>Mon, 28 Oct 2024 00:00:00 GMT</pubDate><category>k8s</category><category>k8s</category><category>笔记</category></item><item><title>在mac中，如何将标准输出保存到剪切板中</title><link>https://www.forrestisrunning.tech/article/mac-pbcopy/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/mac-pbcopy/</guid><description>📎 背景 时常有这样的需求：复制xx pod 的yaml信息到剪切板中 pbcopy 是macos中内置的工具，可以将终端输出复制到系统剪切板 同时可以使用 pbpaste 将剪切板中的内容输出到终端</description><pubDate>Wed, 23 Oct 2024 00:00:00 GMT</pubDate><category>技术分享</category><category>笔记</category></item><item><title>nvidia驱动和cuda安装记录</title><link>https://www.forrestisrunning.tech/article/cuda-install/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/cuda-install/</guid><description>nvidia 组件安装 参考 CUDA Installation Guide for Linux https://developer.nvidia.com/cuda downloads 驱动选择的版本可以参考下载 NVIDIA 官方驱动 NVIDIA 安装必要依赖 禁用Nouveau 安装CUDA…</description><pubDate>Mon, 21 Oct 2024 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>【转】如何阅读源码</title><link>https://www.forrestisrunning.tech/article/%E3%80%90%E8%BD%AC%E3%80%91%E5%A6%82%E4%BD%95%E9%98%85%E8%AF%BB%E6%BA%90%E7%A0%81/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/%E3%80%90%E8%BD%AC%E3%80%91%E5%A6%82%E4%BD%95%E9%98%85%E8%AF%BB%E6%BA%90%E7%A0%81/</guid><description>如何阅读源代码 今天我们来简单的谈谈应该如何去阅读源代码。阅读源代码是每个程序员都要做的事情，毕竟成为master的先前一步， 就是 follow the master 。 学会如何使用 要想知道一个东西怎么实现的，我们首先要有一个大概的认知，例如，是什么，大概是怎么用的。所以我们需要先去熟悉这个项…</description><pubDate>Sat, 21 Sep 2024 00:00:00 GMT</pubDate><category>转发</category></item><item><title>etcd</title><link>https://www.forrestisrunning.tech/article/etcd/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/etcd/</guid><description>热身 etcd简介 是什么 分布式的kv存储系统 用于存储和管理分布式系统中的共享配置和服务发现信息 使用场景 1. k8s的存储后端 &amp; 配置管理 &amp; 存储原数据和状态 存储API对象的原数据，如Pod、ConfigMap、Secret等 记录k8s集群中所有的资源的实时状态变化，提供回滚能力 2…</description><pubDate>Sat, 21 Sep 2024 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>正则表达式</title><link>https://www.forrestisrunning.tech/article/reg/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/reg/</guid><description>限定符 用来表示 0 无限 + 用来表示1 无限 ？ 用来表示 0 1 {2，6}用来表示2 6次 匹配符： d? d出现0/1次 a＊ a可以出现0/多次 a+ a出现一次以上 a｛6｝ a出现6次 a｛2，｝ a出现2次以上 a｛2，6｝ a出现2 6次 匹配多个字符： (ab)+ ab出现一次…</description><pubDate>Tue, 10 Sep 2024 00:00:00 GMT</pubDate><category>技术分享</category></item><item><title>golang的单机锁</title><link>https://www.forrestisrunning.tech/article/local-lock/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/local-lock/</guid><description>正常模式 两种策略 阻塞/唤醒：将当前goroutine阻塞挂起，直到锁被释放后，以回调的方式将阻塞goroutine重新唤醒，进行锁的争抢 使用场景：并发竞争激烈 优势：精准打击，不浪费时间片 劣势：需要挂起协程，进行上下文切换，操作比较重 自旋+CAS：基于自旋结合CAS的方式，反复校验锁的状态…</description><pubDate>Sun, 01 Sep 2024 00:00:00 GMT</pubDate><category>Golang</category></item><item><title>内存对齐</title><link>https://www.forrestisrunning.tech/article/memory-alignment/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/memory-alignment/</guid><description>为什么要内存对齐 平台原因 ：各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如，有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误，那么在这种架构下编程必须保证字节对齐。 性能原因 ：内存对齐可以提高存取效率。比如，有些平台每次读都是…</description><pubDate>Mon, 26 Aug 2024 00:00:00 GMT</pubDate><category>技术分享</category><category>笔记</category></item><item><title>sync/atomic包</title><link>https://www.forrestisrunning.tech/article/atomic/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/atomic/</guid><description>是什么 在 Go 语言中， sync/atomic 包提供了底层的原子操作，用于对整数类型和指针类型进行原子性的读写和修改 原子操作是不可分割的操作，确保多个 goroutine 并发访问共享数据时，操作不会被中断 CPU指令级别的支持 现代CPU架构提供了一组专门的指令，用于支持原子操作。 这些指…</description><pubDate>Sun, 25 Aug 2024 00:00:00 GMT</pubDate><category>Golang</category><category>笔记</category></item><item><title>go中常见的内存泄露场景</title><link>https://www.forrestisrunning.tech/article/leaky-memory/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/leaky-memory/</guid><description>什么是内存泄漏 程序运行中，动态分配的内存未能正确释放或回收，导致内存一直被占用不能被正确释放，可能导致最终内存耗尽 系统资源耗尽 ：严重的内存泄漏可能会导致系统内存耗尽，进而引发系统崩溃或其他程序无法正常运行。 程序崩溃 ：如果程序无法分配到足够的内存，它可能会崩溃，尤其是在没有进行异常处理的情况…</description><pubDate>Sun, 25 Aug 2024 00:00:00 GMT</pubDate><category>技术分享</category><category>笔记</category></item><item><title>常用限流组件及其实现</title><link>https://www.forrestisrunning.tech/article/rate-limit/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/rate-limit/</guid><description>分布式系统稳定性保障：限流、熔断与降级完全指南 在分布式系统中，服务间依赖关系错综复杂，任何一个节点的异常都可能引发连锁反应，最终导致整个系统雪崩。限流、熔断、降级是应对流量冲击、故障传播和部分失效的三大核心机制。本文将系统梳理这三者的概念、关系、算法原理、代码实践与最佳配置，帮助你构建真正健壮的后…</description><pubDate>Fri, 23 Aug 2024 00:00:00 GMT</pubDate><category>技术分享</category><category>限流</category><category>笔记</category></item><item><title>pprof的使用</title><link>https://www.forrestisrunning.tech/article/pprof/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/pprof/</guid><description>什么是pprof pprof 是 Go 提供的性能剖析工具，允许开发者查看 CPU、内存、Goroutine 以及其他资源的使用情况 启动pprof 一旦你的应用程序运行并且 pprof 启用后，你可以通过浏览器或命令行工具访问 pprof 数据。常见的端点包括： CPU profile : htt…</description><pubDate>Thu, 22 Aug 2024 00:00:00 GMT</pubDate><category>技术分享</category><category>笔记</category></item><item><title>sqlite内存模式下的性能测试</title><link>https://www.forrestisrunning.tech/article/sqlIte-performance-test/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/sqlIte-performance-test/</guid><description>内存模式设置 测试环境 go环境安装 client 10.80.51.7 linux系统资源状况 数据格式 测试结果 数据规模 300w、500w 行数据规模下的sqlite的 内存模式下 的TPS、QPS 数据插入结束后，开始模拟真实的应用场景（读多写少） 查询1w次，每次查询100次 插入3k条…</description><pubDate>Tue, 20 Aug 2024 00:00:00 GMT</pubDate><category>技术分享</category><category>思考</category><category>笔记</category></item><item><title>全局唯一ID生成方案</title><link>https://www.forrestisrunning.tech/article/GenID/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/GenID/</guid><description>uuid 是什么 uuid的全称是 universally unique identifier ，即通用唯一识别号，它由16字节（128byte）组成，可以用于唯一的标识信息。 格式为 8 4 4 4 12的16进制格式 使用 分隔 不同的UUID版本 1. UUID v1 (基于时间) UUID…</description><pubDate>Mon, 19 Aug 2024 00:00:00 GMT</pubDate><category>技术分享</category><category>笔记</category></item><item><title>linux笔记</title><link>https://www.forrestisrunning.tech/article/linux/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/linux/</guid><description>我的linux学习笔记～ linux目录结构 目录 说明 / 根目录，只能包含目录，不能包含具体文件。 /bin 存放可执行文件。很多命令就对应/bin目录下的某个程序，例如 ls、cp、mkdir。/bin目录对所有用户有效。 /dev 硬件驱动程序。例如声卡、磁盘驱动等，还有如 /dev/nul…</description><pubDate>Mon, 19 Aug 2024 00:00:00 GMT</pubDate><category>技术分享</category><category>笔记</category></item><item><title>Star原则</title><link>https://www.forrestisrunning.tech/article/star-principal/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/star-principal/</guid><description>The STAR (Situation, Task, Action, Result) format is a job interview technique used by interviewers to gather all the relevant information about a spe…</description><pubDate>Sun, 18 Aug 2024 00:00:00 GMT</pubDate><category>个人总结</category></item><item><title>Golang 内存分配与管理机制</title><link>https://www.forrestisrunning.tech/article/memory-in-golang/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/memory-in-golang/</guid><description>前沿 操作系统中存储模型 虚拟内存和物理内存 虚拟内存的意义 在用户和硬件间添加中间代理层 优化用户体验（进程感知到内存是”连续”的，如果没有虚拟内存，程序就需要自己主动维护真实的物理内存） “放大” 可用内存（虚拟内存可用由物理内存+磁盘补充，根据冷热动态置换，用户无感知） Golang 内存模型…</description><pubDate>Mon, 10 Jun 2024 00:00:00 GMT</pubDate><category>Golang</category><category>Golang</category></item><item><title>计算机网络-网络层</title><link>https://www.forrestisrunning.tech/article/network-ip-layer/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/network-ip-layer/</guid><description>ARP ARP 是 网络层与数据链路层之间的关键协议 ，核心作用是 将 IP 地址转换为物理 MAC 地址 。因为数据链路层通过 MAC 地址进行局域网内寻址，而网络层使用 IP 地址，两者需要通过 ARP 完成映射。 假设主机 A（IP：192.168.1.2）要与主机 B（IP：192.168.…</description><pubDate>Sun, 21 Jan 2024 00:00:00 GMT</pubDate><category>计算机网络</category><category>network</category></item><item><title>计算机网络-传输层</title><link>https://www.forrestisrunning.tech/article/network-transfer/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/network-transfer/</guid><description>TCP &amp; UDP区别 连接 服务对象 可靠性：TCP能保证 不乱、不丢、不错、按序到达。UDP是尽力而为服务，不保证服务的可靠交付 拥塞控制、流量控制 首部开销（报文格式）：TCP的首部较长 最小为20字节，如果由【选项】字段会变长。UDP首部为8字节，且为定长，开销小 传输方式：TCP是流式传输…</description><pubDate>Wed, 17 Jan 2024 00:00:00 GMT</pubDate><category>计算机网络</category><category>network</category></item><item><title>计算机网络-应用层</title><link>https://www.forrestisrunning.tech/article/network-application/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/network-application/</guid><description>应用层协议 http、https、cdn、dns、ftp都是应用层协议 常见Header 请求 content type content length user agent accept accept language host authorization cookie connection if…</description><pubDate>Sun, 14 Jan 2024 00:00:00 GMT</pubDate><category>计算机网络</category><category>network</category></item><item><title>Redis-内存过期和内存淘汰策略</title><link>https://www.forrestisrunning.tech/article/redis-expire-strategy/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/redis-expire-strategy/</guid><description>Redis是一个内存数据库，内存往往是有限的。同时缓存与真实数据也存在数据不一致问题，所以Redis中的数据往往会设置TTL（time to live）。 重点：管理的是 被设置了 TTL 的 key 的生命周期 Redis 提供三种机制，用来处理已经过期的 key： 1. 定期删除（periodi…</description><pubDate>Thu, 11 Jan 2024 00:00:00 GMT</pubDate><category>Redis</category><category>redis</category></item><item><title>Redis-大key问题</title><link>https://www.forrestisrunning.tech/article/redis-big-key/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/redis-big-key/</guid><description>什么是大key 没有特别明确的指标说明 xxx key是一个大key，但有一下指标可以作为参考。 从数据结构的角度出发 String类型：value值超过10KB Hash类型：field数量超过500或value值过大 List类型：元素数量超过1000 Set类型：成员数量超过5000 ZSet…</description><pubDate>Tue, 02 Jan 2024 00:00:00 GMT</pubDate><category>Redis</category><category>redis</category></item><item><title>Redis-高可用</title><link>https://www.forrestisrunning.tech/article/redis-ha/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/redis-ha/</guid><description>Redis的高可用（HA High Avalibility）要解决的是： 1. 避免单点故障 2. 保证数据尽可能不丢失 3. 保证服务队外不中断 Redis 官方给出了三套HA的框架 特性 主从复制 哨兵模式 切片集群 数据分布 每个节点保存全量数据 每个节点保存全量数据 数据分片存储 读写分离…</description><pubDate>Sat, 30 Dec 2023 00:00:00 GMT</pubDate><category>Redis</category><category>redis</category></item><item><title>Redis-缓存</title><link>https://www.forrestisrunning.tech/article/redis-cache/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/redis-cache/</guid><description>三大缓存问题 缓存击穿、缓存雪崩、缓存穿透 问题 缓存击穿 缓存雪崩 缓存穿透 定义 某个 热点 Key 过期 瞬间，海量并发请求直接打到数据库，造成数据库压力暴涨 大量 key 在某个时刻 同时过期 ，或 Redis 集群整体不可用，导致大量请求直接访问数据库，引起系统雪崩 客户端不断访问 不存在…</description><pubDate>Fri, 29 Dec 2023 00:00:00 GMT</pubDate><category>Redis</category><category>redis</category></item><item><title>Redis-持久化</title><link>https://www.forrestisrunning.tech/article/redis-duration/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/redis-duration/</guid><description>RDB (Redis Database File) 核心：将某个时间点的所有数据 生成快照 （snapshot），保存为二进制文件（默认文件名：dump.rdb） 实现原理 1. Redis主进程fork一个子进程 2. 子进程与主进程基于操作系统的Copy On Write（COW）机制共享同一份…</description><pubDate>Fri, 22 Dec 2023 00:00:00 GMT</pubDate><category>Redis</category><category>redis</category></item><item><title>Redis-基础数据类型</title><link>https://www.forrestisrunning.tech/article/redis-dataType/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/redis-dataType/</guid><description>Redis 常用数据类型总览 1. String（字符串） 数据结构 int：存储整数值 SDS（Simple Dynamic String）：存储字符串或二进制数据 embstr：存储小于 44 字节(Redis 5.0)的字符串 raw：存储大于 44 字节的字符串 常用命令 应用场景 缓存对象…</description><pubDate>Mon, 18 Dec 2023 00:00:00 GMT</pubDate><category>Redis</category><category>redis</category></item><item><title>MySQL-锁</title><link>https://www.forrestisrunning.tech/article/mysql-lock/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/mysql-lock/</guid><description>锁的分类 一、按照锁的粒度分类 1. 全局锁（Global Lock） 对整个数据库实例进行加锁，使其处于只读状态。 使用场景 ： 全库逻辑备份 全库一致性快照 使用方式 ： 2. 表级锁（Table Lock） 2.1 表锁（Table Lock） 对整张表进行加锁，阻塞其他用户对该表的所有读写操…</description><pubDate>Wed, 13 Dec 2023 00:00:00 GMT</pubDate><category>MySQL</category><category>mysql</category></item><item><title>MySQL-日志</title><link>https://www.forrestisrunning.tech/article/mysql-log/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/mysql-log/</guid><description>Undo Log（回滚日志） 作用： 实现事务的原子性，提供回滚操作 实现 MVCC（多版本并发控制），用于事务并发控制 工作原理： 当事务对数据做修改时，会先将数据的旧版本记录到 undo log 如果事务需要回滚，就可以利用 undo log 中的信息将数据恢复到修改前的状态 在 MVCC 中，…</description><pubDate>Wed, 29 Nov 2023 00:00:00 GMT</pubDate><category>MySQL</category><category>mysql</category></item><item><title>MySQL-事务</title><link>https://www.forrestisrunning.tech/article/mysql-%20transaction/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/mysql-%20transaction/</guid><description>事务有哪些特性 1. 原子性：一个事物中的所有操作，要么全部完成，要么全部不完成 2. 一致性：事物操作前后，数据满足完整性约束，比如A用户给B用户转钱，A用户的账号会减去X元，B用的账号会多X元 3. 隔离性：数据库允许多个事物并行对数据进行读写操作 4. 持久性：事务结束后，对于数据的修改时永久…</description><pubDate>Mon, 13 Nov 2023 00:00:00 GMT</pubDate><category>MySQL</category><category>mysql</category></item><item><title>MySQL-索引</title><link>https://www.forrestisrunning.tech/article/mysql-index/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/mysql-index/</guid><description>索引的分类 按照数据结构分 1. B+ 树索引 2. hash索引 3. full text索引 按照物理存储结构分 1. 主键索引（聚簇索引） 2. 二级索引 按照字段分 1. 主键索引 2. 唯一索引 3. 普通索引 4. 前缀索引 为什么使用了索引后，查询会加快 Mysql默认使用innodb…</description><pubDate>Thu, 09 Nov 2023 00:00:00 GMT</pubDate><category>MySQL</category><category>mysql</category></item><item><title>MySQL-存储引擎</title><link>https://www.forrestisrunning.tech/article/mysql-storage-engine/</link><guid isPermaLink="true">https://www.forrestisrunning.tech/article/mysql-storage-engine/</guid><description>执行一条SQL的请求过程 example 连接器：建立连接，管理连接、校验用户身份； 查询缓存：查询语句如果命中查询缓存则直接返回，否则继续往下执行。MySQL 8.0 已删除该模块； 解析SQL，通过解析器对SQL查询语句进行词法分析、语法分析，然后构建语法树，方便后续模块读取表名、字段、语句类型…</description><pubDate>Thu, 02 Nov 2023 00:00:00 GMT</pubDate><category>MySQL</category><category>mysql</category></item></channel></rss>