🌱

274

一杯咖啡的时间,聊聊技术与成长

连载中 6/15

动静分离:把静态资源从应用手里抢出来

Tomcat 处理一张图片也要占用一个线程,Nginx 用 sendfile 在内核里直接把文件扔给网卡。动静分离不是架构洁癖,是把算力花在刀刃上——root 与 alias 的大坑先排掉。

#动静分离#root与alias#sendfile#静态资源缓存#目录安全
2026-09-25 · 10 阅读 · 0 评论 · 0 赞
连载中 5/15

负载均衡:upstream 的五种调度策略

轮询最公平,加权看机器,ip_hash 保会话但可能倾斜,least_conn 看实时负载。健康检查是负载均衡的底线——把流量发给挂掉的节点,策略再好也白搭。

#负载均衡#upstream#ip_hash#健康检查#会话保持
2026-09-24 · 9 阅读 · 0 评论 · 0 赞
连载中 4/15

反向代理:proxy_pass 结尾的斜杠是两个世界

proxy_pass 是 Nginx 最常用的指令,也是最容易被斜杠坑的指令——带不带路径、带不带斜杠,转发路径完全不同。配上真实 IP 头传递,后端才不会把所有请求都当成 Nginx 发的。

#反向代理#proxy_pass#X-Forwarded-For#超时配置#502排查
2026-09-24 · 11 阅读 · 0 评论 · 0 赞
连载中 3/15

location 匹配规则:优先级搞错,路由全乱

五种写法不用背,记一条优先级链就够:精确匹配称王,^~ 截断正则,正则按配置顺序,最后比谁的前缀长。一个符号之差,请求流向完全不同。

#location匹配#优先级#正则匹配#前缀匹配#路由规则
2026-09-23 · 15 阅读 · 0 评论 · 0 赞
连载中 2/15

配置文件全景:main、events、http、server 的层级

Nginx 的配置像俄罗斯套娃:main 套 http,http 套 server,server 套 location。指令放错层级不报错但也不生效——先搞清地图,再动手改配置。

#nginx配置#nginx.conf#层级结构#reload#server_name
2026-09-23 · 16 阅读 · 0 评论 · 0 赞
连载中 1/15

Nginx 开篇:为什么每个后端都绕不开它

应用裸奔扛不住并发、静态资源抢线程、想加机器没有统一入口——Nginx 用一个 master 加几个 worker 全接了。epoll 事件模型是它单机扛十万连接的底气,本系列十五篇从配置讲到高可用。

#Nginx开篇#epoll#反向代理#进程模型#C10K
2026-09-22 · 14 阅读 · 0 评论 · 0 赞
连载中 20/20

JVM 收官:一张地图串起二十篇

内存结构是地基,GC 是机制,排查是手段,调优是目标——四层知识环环相扣。收官篇把二十篇串成一张地图,附一份高频问题清单和五个动手实验。

#JVM收官#知识地图#面试清单#动手实验#系列总结
2026-09-21 · 6 阅读 · 0 评论 · 0 赞
连载中 19/20

堆外内存:-Xmx 管不到的那部分

容器里 -Xmx 给了 4G,进程 RSS 却涨到 7G——多出来的在堆外:元空间、直接内存、线程栈、Code Cache。heap dump 里看不见它们,排查得换一套工具。

#堆外内存#直接内存#元空间#NMT#Netty泄漏
2026-09-20 · 7 阅读 · 0 评论 · 0 赞
连载中 18/20

JIT 与逃逸分析:你的代码不是按你写的样子跑的

字节码先解释执行,热点代码被 JIT 编译成机器码,还被顺手内联、消除锁、拆散对象——三层手术做完,跑出来的已经不是你写的代码。理解它,才明白微基准为什么会骗人。

#JIT#逃逸分析#方法内联#锁消除#JMH
2026-09-19 · 4 阅读 · 0 评论 · 0 赞