Skip to content

v0.2.0

Latest

Choose a tag to compare

@AmbroseX AmbroseX released this 16 Jul 08:24
· 2 commits to main since this release

后端从三种扩到五种,新增两个 SQL 后端;引入身份模型与周期硬配额。
仍是 v0 阶段,API 未冻结。

新功能

  • 两个 SQL 后端:pgbroker(PostgreSQL)、mysqlbroker(MySQL),均为纯 Go 免 cgo,
    多进程共享,认领互斥用 FOR UPDATE SKIP LOCKED(要求 PostgreSQL 9.5+ / MySQL 8.0+)。
    至此五种后端(内存 / SQLite / Redis / PostgreSQL / MySQL)过同一套 brokertest 契约。
  • 身份模型(spec 005):BusinessKey 业务幂等键、ExecutionID 执行标识、Replay 重放语义,
    五个后端统一落地。
  • 周期硬配额(spec 006):{QuotaLimit, QuotaPeriod} 限"每个固定窗口最多启动 N 次 handler",
    跨进程共享计数、绝不超发,任何故障只少放行不多放;后端不支持共享计数时 New() 直接报错,
    没有静默降级。QuotaProvider 能力接口,五后端落地。

文档

  • README 中英文安装段补版本锁定说明:go get @latest / @vX.Y.Z 两种拉法,
    以及 v0 阶段 API 未冻结、依赖锁在使用者 go.mod 的提示。
  • README 更新模块路径与 SQL 后端说明;新增 MySQL/PG 后端适配方案文档。

测试与质量

  • CI 补真 PostgreSQL / 真 MySQL 测试档。
  • gofmt 全量对齐,过格式门。

其他

  • 补充 Apache-2.0 许可证与 GitHub Actions CI(vet / gofmt / 竞态测试 + 真 Redis 契约档)。
  • 项目宪法升到 v1.2.0:批准 SQL 驱动与门控例外。

说明:v0 阶段不承诺 API 稳定,小版本升级可能带来不兼容改动。

完整变更: v0.1.0 -> v0.2.0