前置阅读:Linux-20 线上问题排查实战案例 本篇是整个系列的收尾。前 20 篇每篇末尾都有对应主题的面试题,这里做跨主题的汇总:先给一张速查表用
这是 Nginx 系列的第一篇。整个系列按「入门 → 配置 → 原理 → 功能 → 调优 → 实战 → 面试」的顺序展开,本篇解决三个问题:Nginx 到底是干什么的、怎么装、装
前置阅读:Nginx-01 入门与安装 Nginx 的配置文件是一门小型 DSL。搞清楚它的块结构和继承规则,配置就从「抄配置片段」变成「知道自己在写什么」
前置阅读:Nginx-02 配置文件结构与核心指令、网络-20 Socket 编程与 IO 模型 这一篇是整个系列的原理核心,也是面试被问得最深的部分。搞懂了「Ng
前置阅读:Nginx-03 进程模型与事件驱动原理 上一篇讲了 worker 怎么高效地「等」事件,这一篇讲事件来了之后具体怎么处理一个 HTTP 请求。理解 11 个阶段是
前置阅读:Nginx-04 请求处理流程与 11 个阶段 location 匹配规则和 rewrite 是 Nginx 配置中最容易出错的地方,也是面试必考。这一篇把规则讲透,并用可复现的实验验
前置阅读:Nginx-05 location 匹配与 rewrite 反向代理是 Nginx 最主要的用途。这一篇覆盖从基本配置到失败重试、长连接复用、灰度发布的完整体系。 1. 反向代理基础
前置阅读:Nginx-06 反向代理与负载均衡 1. 为什么要动静分离 一个典型的页面请求会拉取 1 个 HTML + 几十个静态资源(JS/CSS/图片/字体)。如
前置阅读:Nginx-07 动静分离与静态资源优化、网络-13 HTTP 缓存 上一篇讲的是浏览器端的缓存(让客户端别来请求)。这一篇讲Nginx 自己的缓
前置阅读:Nginx-08 缓存机制 Nginx 在最前面,是最合适做流量管控的位置。这一篇讲清限流的原理(尤其是 burst/nodelay 那三个容易搞混的模式)和常见攻击的防护
前置阅读:Nginx-09 限流限连与安全防护、网络-16 HTTPS 与 TLS、网络-17 TLS 1.3 TLS 协议本身在网络系列讲过,这一篇专注于Nginx 侧的配置和
前置阅读:Nginx-10 HTTPS 与 TLS 配置 Nginx 的日志是排查线上问题的第一手资料。这一篇把日志配置、分析方法和监控体系讲全。 1. access_log 1.1 语法 access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]]; access_log
前置阅读:Nginx-11 日志与监控、网络-10 TCP 实战调优 1. 调优方法论 先说最重要的一条:不要盲目抄参数。 网上大量的「Nginx 性能优化 20 条」
前置阅读:Nginx-12 性能调优实战 前面 12 篇讲的都是「怎么配」,这一篇把它们串起来,做几个能跑起来的完整案例。 1. 案例一:Go 多实例负载均衡
前置阅读:Nginx-13 实战案例(Go 服务 + Docker) 本篇是整个系列的收尾。前 13 篇每篇末尾都有对应主题的面试题,这里做跨主题的汇总:先
本文是 Protobuf 系列的第 1 篇。 大多数教程从「怎么写 .proto」讲起,本系列反过来,先讲字节。原因很简单:不懂编码格式的人,只能把「字段号不能改」「
本文是 Protobuf 系列的第 2 篇,作为 proto3 的语法参考使用。 上一篇从 wire format 开始讲了二进制编码,本篇讲怎么写 .proto。遇到「为什么这条规则是这样」时,答案基
本文是 Protobuf 系列的第 3 篇。 语法看完就能写 .proto 了,但真正在生产上写出 bug 的地方,八成集中在这一章:「这个字段到底是没传,还是传了个 0?」 1. 从一个真实的
本文是 Protobuf 系列的第 4 篇,也是我认为最值得读的一篇。 语法写错了编译器会拦你;但 schema 改错了,编译器和测试都不会报警——它会在半年后的某个滚动发布窗口
本文是 Protobuf 系列的第 5 篇。 前面四篇讲的是「Protobuf 本身」,这一篇讲生态里那些你不该自己造的轮子:官方预定义的 Well-Known Types,以及 protobuf 与 JSON 之间