feat: 实现 IoT 卡轮询系统(支持千万级卡规模)
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m35s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m35s
实现功能: - 实名状态检查轮询(可配置间隔) - 卡流量检查轮询(支持跨月流量追踪) - 套餐检查与超额自动停机 - 分布式并发控制(Redis 信号量) - 手动触发轮询(单卡/批量/条件筛选) - 数据清理配置与执行 - 告警规则与历史记录 - 实时监控统计(队列/性能/并发) 性能优化: - Redis 缓存卡信息,减少 DB 查询 - Pipeline 批量写入 Redis - 异步流量记录写入 - 渐进式初始化(10万卡/批) 压测工具(scripts/benchmark/): - Mock Gateway 模拟上游服务 - 测试卡生成器 - 配置初始化脚本 - 实时监控脚本 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -116,6 +116,15 @@ const (
|
||||
CodeForceRechargeRequired = 1140 // 必须充值指定金额
|
||||
CodeForceRechargeAmountMismatch = 1141 // 强充金额不匹配
|
||||
|
||||
// 轮询系统相关错误 (1150-1169)
|
||||
CodePollingConfigNotFound = 1150 // 轮询配置不存在
|
||||
CodePollingConfigNameExists = 1151 // 轮询配置名称已存在
|
||||
CodePollingQueueFull = 1152 // 轮询队列已满
|
||||
CodePollingConcurrencyLimit = 1153 // 并发数已达上限
|
||||
CodePollingAlertRuleNotFound = 1154 // 告警规则不存在
|
||||
CodePollingCleanupConfigNotFound = 1155 // 数据清理配置不存在
|
||||
CodePollingManualTriggerLimit = 1156 // 手动触发次数已达上限
|
||||
|
||||
// 服务端错误 (2000-2999) -> 5xx HTTP 状态码
|
||||
CodeInternalError = 2001 // 内部服务器错误
|
||||
CodeDatabaseError = 2002 // 数据库错误
|
||||
@@ -214,6 +223,13 @@ var allErrorCodes = []int{
|
||||
CodePurchaseOnBehalfInvalidTarget,
|
||||
CodeForceRechargeRequired,
|
||||
CodeForceRechargeAmountMismatch,
|
||||
CodePollingConfigNotFound,
|
||||
CodePollingConfigNameExists,
|
||||
CodePollingQueueFull,
|
||||
CodePollingConcurrencyLimit,
|
||||
CodePollingAlertRuleNotFound,
|
||||
CodePollingCleanupConfigNotFound,
|
||||
CodePollingManualTriggerLimit,
|
||||
CodeInternalError,
|
||||
CodeDatabaseError,
|
||||
CodeRedisError,
|
||||
@@ -310,6 +326,13 @@ var errorMessages = map[int]string{
|
||||
CodePurchaseOnBehalfInvalidTarget: "代购目标无效",
|
||||
CodeForceRechargeRequired: "必须充值指定金额",
|
||||
CodeForceRechargeAmountMismatch: "强充金额不匹配",
|
||||
CodePollingConfigNotFound: "轮询配置不存在",
|
||||
CodePollingConfigNameExists: "轮询配置名称已存在",
|
||||
CodePollingQueueFull: "轮询队列已满",
|
||||
CodePollingConcurrencyLimit: "并发数已达上限",
|
||||
CodePollingAlertRuleNotFound: "告警规则不存在",
|
||||
CodePollingCleanupConfigNotFound: "数据清理配置不存在",
|
||||
CodePollingManualTriggerLimit: "手动触发次数已达上限",
|
||||
CodeInvalidCredentials: "用户名或密码错误",
|
||||
CodeAccountLocked: "账号已锁定",
|
||||
CodePasswordExpired: "密码已过期",
|
||||
|
||||
Reference in New Issue
Block a user