文章
PostgreSQL 排程 SQL 的三個坑
PostgreSQL 排程的 rollup 作業實測出三個問題:session 時區讓統計視窗偏移、CTE 裡的 DELETE 對 INSERT 不可見、單獨一行 advisory lock 擋不住重疊執行。
沒實作的六件事:從框架學到什麼
gortex 刻意沒做的六件事:完整 graceful shutdown、middleware 錯誤語意、組態熱更新、請求級 timeout、結構化錯誤、OpenAPI 產生,每件都難在生產級細節。
OpenResty + Lua:在 AI 時代重看一個老派選擇
OpenResty 讓 nginx 的 C 核心處理連線,業務邏輯只留一層 Lua,資源吃得少。Lua 語義單一、風格固定,AI 不用猜慣例,在 AI 輔助開發下這個老架構反而合適。
安全中介層全家桶:CORS / CSRF / JWT / rate limit / binder
gortex 在框架層整合 body 上限、CORS、CSRF、JWT、rate limit 與 log 遮蔽:JWT 鎖定 HS256,按 IP 做 rate limit 要配 TrustedProxies 才算數。
Jaeger 入門:用 OpenTelemetry 串起分散式追蹤
程式只對 OpenTelemetry 產生 span、用 OTLP 送進 Jaeger,要換 Grafana Tempo 只改 exporter;含 gortex 接法與 Docker 範本。
可觀測性:三態健康檢查與 tracing 抽象層
gortex 的三態健康檢查比 up/down 更貼近 K8s probe,tracing 只依賴 Tracer 介面,OTel 當 adapter 接上,換後端不動業務碼。
WebSocket Hub:Go 版 Actor 模型
gortex 的 WebSocket Hub 是 Go 版 actor 模型:狀態只由單一 goroutine 持有,外部透過 channel 送請求,用通訊取代鎖,慢消費者滿了就丟。