From cdc767160b5dd6a82e9164e785357ccd93d16439 Mon Sep 17 00:00:00 2001 From: xfy Date: Tue, 14 Apr 2026 14:53:21 +0800 Subject: [PATCH] =?UTF-8?q?refactor(security):=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=88=86=E6=AE=B5=E9=94=81=E6=A1=B6=E5=AD=97=E6=AE=B5=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=E4=BC=98=E5=8C=96=E5=86=85=E5=AD=98=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 counters 字段置于 mu 锁之前,符合 Go 结构体字段排序最佳实践, 数据字段优先于锁字段,可能优化内存访问效率。 Co-Authored-By: Claude Opus 4.6 --- internal/middleware/security/sliding_window.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/middleware/security/sliding_window.go b/internal/middleware/security/sliding_window.go index d9f45cb..ea20cd3 100644 --- a/internal/middleware/security/sliding_window.go +++ b/internal/middleware/security/sliding_window.go @@ -22,8 +22,8 @@ import ( // limiterBucket 分段锁桶,每个桶持有部分键的计数器。 // 使用分段锁减少全局锁竞争,提高并发性能。 type limiterBucket struct { - mu sync.RWMutex counters map[string]*windowCounter + mu sync.RWMutex } // SlidingWindowLimiter 滑动窗口限流器。