fix: address code review issues for RPM limiting feature
- Use TxPipeline (MULTI/EXEC) instead of Pipeline for atomic INCR+EXPIRE - Filter negative values in GetBaseRPM(), update test expectation - Add RPM batch query (GetRPMBatch) to account List API - Add warn logs for RPM increment failures in gateway handler - Reset enableRpmLimit on BulkEditAccountModal close - Use union type 'tiered' | 'sticky_exempt' for rpmStrategy refs - Add design decision comments for rdb.Time() RTT trade-off
This commit is contained in:
@@ -1618,6 +1618,13 @@ export default {
|
||||
full: 'RPM limit reached',
|
||||
warning: 'RPM approaching limit',
|
||||
normal: 'RPM normal',
|
||||
tieredNormal: 'RPM limit (Tiered) - Normal',
|
||||
tieredWarning: 'RPM limit (Tiered) - Approaching limit',
|
||||
tieredStickyOnly: 'RPM limit (Tiered) - Sticky only | Buffer: {buffer}',
|
||||
tieredBlocked: 'RPM limit (Tiered) - Blocked | Buffer: {buffer}',
|
||||
stickyExemptNormal: 'RPM limit (Sticky Exempt) - Normal',
|
||||
stickyExemptWarning: 'RPM limit (Sticky Exempt) - Approaching limit',
|
||||
stickyExemptOver: 'RPM limit (Sticky Exempt) - Over limit, sticky only'
|
||||
},
|
||||
},
|
||||
tempUnschedulable: {
|
||||
@@ -1842,7 +1849,12 @@ export default {
|
||||
strategy: 'RPM Strategy',
|
||||
strategyTiered: 'Tiered Model',
|
||||
strategyStickyExempt: 'Sticky Exempt',
|
||||
strategyTieredHint: 'Green → Yellow → Sticky only → Blocked, progressive throttling',
|
||||
strategyStickyExemptHint: 'Only sticky sessions allowed when over limit',
|
||||
strategyHint: 'Tiered: gradually restrict when exceeded; Sticky Exempt: existing sessions unrestricted',
|
||||
stickyBuffer: 'Sticky Buffer',
|
||||
stickyBufferPlaceholder: 'Default: 20% of base RPM',
|
||||
stickyBufferHint: 'Extra requests allowed for sticky sessions after exceeding base RPM. Leave empty to use default (20% of base RPM, min 1)'
|
||||
},
|
||||
tlsFingerprint: {
|
||||
label: 'TLS Fingerprint Simulation',
|
||||
|
||||
@@ -1669,6 +1669,13 @@ export default {
|
||||
full: '已达 RPM 上限',
|
||||
warning: 'RPM 接近上限',
|
||||
normal: 'RPM 正常',
|
||||
tieredNormal: 'RPM 限制 (三区模型) - 正常',
|
||||
tieredWarning: 'RPM 限制 (三区模型) - 接近阈值',
|
||||
tieredStickyOnly: 'RPM 限制 (三区模型) - 仅粘性会话 | 缓冲区: {buffer}',
|
||||
tieredBlocked: 'RPM 限制 (三区模型) - 已阻塞 | 缓冲区: {buffer}',
|
||||
stickyExemptNormal: 'RPM 限制 (粘性豁免) - 正常',
|
||||
stickyExemptWarning: 'RPM 限制 (粘性豁免) - 接近阈值',
|
||||
stickyExemptOver: 'RPM 限制 (粘性豁免) - 超限,仅粘性会话'
|
||||
},
|
||||
},
|
||||
clearRateLimit: '清除速率限制',
|
||||
@@ -1985,7 +1992,12 @@ export default {
|
||||
strategy: 'RPM 策略',
|
||||
strategyTiered: '三区模型',
|
||||
strategyStickyExempt: '粘性豁免',
|
||||
strategyTieredHint: '绿区→黄区→仅粘性→阻塞,逐步限流',
|
||||
strategyStickyExemptHint: '超限后仅允许粘性会话',
|
||||
strategyHint: '三区模型: 超限后逐步限制; 粘性豁免: 已有会话不受限',
|
||||
stickyBuffer: '粘性缓冲区',
|
||||
stickyBufferPlaceholder: '默认: base RPM 的 20%',
|
||||
stickyBufferHint: '超过 base RPM 后,粘性会话额外允许的请求数。为空则使用默认值(base RPM 的 20%,最小为 1)'
|
||||
},
|
||||
tlsFingerprint: {
|
||||
label: 'TLS 指纹模拟',
|
||||
|
||||
Reference in New Issue
Block a user