基础设施
``markmap
基础设施
Docker
Dockerfile
Docker命令
Kubernetes
Kubernetes核心概念
Kubernetes调度
Linux
Linux工具
Linux系统管理
shell脚本
网络
Nginx
Netty
- Netty ``
基础设施是支撑应用运行的底层技术栈。掌握这些知识,能帮助你理解应用的运行环境、快速定位线上问题、构建高可用的系统架构。
提示
基础设施技术知识总览,涵盖容器化、编排、操作系统、网络、中间件等核心领域
容器化:Docker
Docker 是当前最主流的容器化技术,通过镜像和容器实现了应用的打包与隔离运行。Docker 的核心价值在于"一次构建,到处运行",消除了开发环境与生产环境之间的差异。在 Docker 中涵盖了安装部署、容器生命周期管理、数据卷持久化和网络模型。
构建镜像需要掌握 Dockerfile 的指令体系和多阶段构建技巧,这直接决定了镜像的体积和安全性。日常操作中,Docker命令 提供了镜像管理、容器操作、网络配置和 Compose 编排等完整的命令参考。Docker Compose 通过 YAML 文件声明式地定义多容器应用,使得开发和测试环境的搭建变得简单可重复。
容器编排:Kubernetes
当容器规模扩大到数十甚至数百个时,手动管理变得不可行,Kubernetes 应运而生。作为 Google 开源的容器编排平台,Kubernetes 解决了容器的自动部署、弹性伸缩和服务发现等核心问题。Kubernetes 详细介绍了集群架构、控制平面组件和安装部署流程。
Kubernetes 的核心概念包括 Pod、Deployment、StatefulSet 等 Workload 资源,以及 PV/PVC 持久化存储、Secret 配置管理和 Ingress 流量入口。Kubernetes核心概念 对这些资源类型进行了系统梳理,帮助理解有状态应用和无状态应用的不同管理策略。
调度是 Kubernetes 的核心能力之一。Kubernetes调度 介绍了 kube-scheduler 的调度流程,包括节点选择器、污点与容忍、资源请求与限制等机制,这些决定了 Pod 如何分配到合适的节点上运行。
操作系统:Linux
Linux 是服务器领域的主力操作系统,绝大多数生产环境都运行在 Linux 之上。Linux 涵盖了系统管理、文件权限、用户管理、进程管理等核心操作,以及 systemd 服务管理、网络配置、防火墙和存储管理等系统级知识。
在日常运维中,各种命令行工具是提升效率的关键。Linux工具 整理了 lsof、ps、top、crontab、xargs、sort 等常用工具的使用方法和实战示例。系统管理层面,Linux系统管理 深入讲解了管道与重定向、文本处理三剑客(grep/sed/awk)、存储管理(RAID/LVM)、SSH 远程管理和 Shell 环境配置。
Shell 脚本是 Linux 自动化的基石。shell脚本 系统介绍了 Bash 脚本的语法体系,包括变量、运算符、流程控制、函数和重定向,掌握这些能够将重复性的运维工作自动化。
网络协议
网络是分布式系统通信的基础。网络 梳理了网络层的 IP 地址分类、ARP 协议和 NAT 转换,以及应用层 HTTP 协议从 0.9 到 3.0 的演进历程。HTTP/2 的多路复用和 HTTP/3 基于 QUIC 的 0RTT 建链是理解现代 Web 性能优化的基础。
Web 服务器:Nginx
Nginx 是高性能的 HTTP 服务器和反向代理,广泛用于负载均衡、静态资源服务和 SSL 终止。Nginx 详细介绍了编译安装、配置语法、核心模块(proxy、rewrite、ssl、gzip)以及性能优化建议。Nginx 的事件驱动架构使其能够以极低的资源消耗支撑数万并发连接。
网络编程:Netty
Netty 是 Java 生态中最成熟的异步网络编程框架,封装了 NIO 的复杂性。Netty 介绍了 Channel、EventLoop、ChannelHandler 等核心组件,以及 ByteBuf 内存管理、编解码器框架和多种传输模式。Twitter Finagle、Facebook Nifty 等知名项目都基于 Netty 构建,体现了其在高并发场景下的可靠性。