MySQL 架构、数据管理与数据流动学习文档 面向对象:已经会写 SELECT / INSERT 等基本语句,但想真正理解"一条 SQL 语句进去之后,MySQL 内部到底发生了什么"的开发者。 阅读方式建议:不必从头背诵,遇到工作中的实际问题(比如"为什么这条查询这么慢""为什么加了索引还是全表扫描")时,回来对照相应章节。 目录 MySQL 整体架构总览 一条 SQL 语句的完整生命周期 INSERT / SELECT 基础回顾(从语法到底层) InnoDB 存储引擎深度剖析 索引原理(B+树、聚簇索引、联合索引) 复杂查询案例解析(GROUP BY / JOIN / HAVING / LIMIT / ORDER BY) 数据流动全景图(总结) 诊断与优化工具 延伸学习路线 第一章:MySQL 整体架构总览 MySQL 的架构可以分为两大块: Server 层 (所有存储引擎共用)和 存储引擎层 (可插拔,最常用的是 InnoDB)。 ┌─────────────────────────┐ │ 客户端 / 应用 │ └────────────┬─────────────┘ │ TCP / Socket ┌────────────▼─────────────┐ │ 连接器 (Connectors) │ ← 建立连接、权限校验、维持长连接 └────────────┬─────────────┘ ┌─────────────────────────────┼─────────────────────────────┐ │ Server 层 │ ...
Kubernetes 从入门到精通实战指南 面向有编程基础、但是 K8s 新手的开发者。本文以"概念 + 可运行 YAML 示例 + 命令"的方式组织,建议边看边在自己的集群(本地可用 minikube / kind / k3d)里动手跑一遍。 目录 核心概念:Pod / Node / Service 等 应用部署基础 自动扩缩容(HPA / VPA / Cluster Autoscaler) 定时任务(CronJob) 配置与敏感信息管理(ConfigMap / Secret) 配置热加载 GitOps 部署方式 进入 Pod 排障 将集群入口暴露到公网 灰度发布 / 金丝雀发布 服务网格与 Istio RBAC 权限管理 常用命令速查表 1. 核心概念 Kubernetes(简称 K8s)是一个"容器编排系统":你告诉它"我要什么样的最终状态",它负责持续调节集群,让实际状态逼近你声明的状态(这叫 声明式 API / 控制循环 ,是理解一切的钥匙)。 1.1 Cluster(集群)与 Node(节点) Cluster :一组机器(物理机或虚拟机)的集合,由 K8s 统一管理。 Node :集群里的一台机器,分两种角色: Control Plane(控制平面) :跑着 kube-apiserver (所有操作的入口)、 etcd (存储集群状态的数据库)、 scheduler (决定 Pod 调度到哪个节点)、 controller-manager (跑各种控制循环)。 Worker Node :真正跑你业务容器的机器,上面跑着 kubelet (节点代理,负责启停容器)、 kube-proxy (负责网络转发)、容器运行时(containerd/CRI-O)。 kubectl get nodes -o wide 1.2 Pod Pod 是 K8s 里最小的可调度单元 ,不是容器本身。一个 Pod 里可以有 1 个或多个容器,这些容器: 共享同一个网络命名空间(同一个 IP,容器间可以用 localhost 互访) 可以共享 Volume(挂载卷) 生命周期绑定在一起,一起调度、一起销毁 最常见的模式是 一个 Pod 一个...