Sally Dev

前端、后端、Linux
与工程实践

记录日常开发中遇到的技术问题和解决方案,关注那些真正能落地的思路和取舍。

技术方向

前端开发

React 与 TypeScript 实践、性能优化、构建工具、CSS 与动画、用户体验设计。

后端架构

微服务与单体之争、API 设计规范、数据库选型、缓存策略、中间件实践。

🐧

Linux 运维

系统调优、网络排查、Nginx 配置、容器化部署、监控与告警、Shell 脚本。

📐

架构与设计

分布式系统、一致性协议、软件设计模式、代码重构、技术选型与取舍。

近期更新

是微服务架构不香还是云不香?

Amazon Prime Video 从 Serverless 微服务架构回归单体应用,引发热议。 根本原因不是微服务不行,而是 AWS Step Function 处理能力不足且收费高昂。 架构选型的关键在于把因为相同原因变化的合在一起,把不同原因变化的分开, 合适的场景比追逐潮流更重要。

阅读全文 →

"一把梭":REST API 全用 POST 错在哪

HTTP 动词属于协议控制逻辑——GET、PUT、DELETE 是幂等的,但 POST 不是。 全用 POST 会丢失缓存、幂等重试、路由过滤等能力。复杂查询应优先用 GET, 规范不是"优雅",而是职业程序员的基本标准。

阅读全文 →

从一次经历谈 TCP TIME_WAIT 的那些事

TIME_WAIT 是 TCP 连接关闭时的必经状态,持续 2MSL(约 2 分钟)。 高并发短连接场景下大量 TIME_WAIT 会耗尽端口资源。解决方案包括: 开启 tcp_tw_reuse、调整 MSL、使用连接池复用长连接。 理解这些状态转换是排查网络问题的基础功。

阅读全文 →

eBPF 介绍:一种在内核里安全运行沙箱程序的技术

eBPF 允许用户在不修改内核源码或加载内核模块的前提下, 在内核中安全运行沙箱化程序。广泛应用于网络监控、性能分析、安全审计等领域, 是云原生观测的重要基础设施。

阅读全文 →

ETCD 内存问题排查与治理

ETCD 作为 Kubernetes 的核心组件,其内存占用问题直接影响集群稳定性。 大量 key 和频繁的 watch 事件会导致内存持续增长。排查思路包括: 监控 db_size 和 backend 内存占用、合理设置 compaction 和 defrag 策略、 控制 watch 数量。

阅读全文 →

前端性能优化:从首屏加载到运行时体验

核心是减少资源体积和网络请求:Tree Shaking、代码分割、懒加载、 图片优化(WebP/AVIF)、缓存策略(Service Worker、HTTP 缓存)、 渲染优化(虚拟列表、避免重排重绘)。每个环节都能带来可量化的提升, 优先做收益最高的。

阅读全文 →

聊聊 nostr 协议:去中心化社交网络的技术原理

nostr 协议包含 client 和 relay 两个角色,基于 WebSocket + JSON 通信。 身份由密钥对签名识别,消息同时发往多个 relay,无法被单一实体封禁。 抗审查的代价是 Spam 问题——付费发信、社区黑名单、PoW 工作量证明都在探索中。

阅读全文 →

Nginx 静态文件服务的正确配置方式

静态文件服务看似简单,但缓存控制、gzip 压缩、目录索引、MIME 类型、 CORS 头、安全头、日志格式——每个细节都影响最终效果。 关键原则:匹配资源类型的缓存策略、try_files 正确路由 SPA、 gzip 级别权衡 CPU 与压缩比。

阅读全文 →

关于本站

一个技术分享博客,记录日常开发中的实践总结与思考。 内容涵盖前端开发、后端架构、Linux 运维和分布式系统等方向。