1.4 KiB
Executable File
1.4 KiB
Executable File
asynq的二次封装,真正的生产环境友好
Features
- 有效降低业务负载:
- 支持异步后的分布式限速,起到真正的削峰作用。避免转异步后任务的实际执行速度未降。
- 基于分布式限速,拆分qps不同的快慢队列,使用者可以结合业务优先级,把任务打入不同的队列。
- 安全的隔离机制:
- 在队列名中加入了服务名,避免多服务混用同一redis时,互相消费对方异步任务。
- 在队列名中加入了环境名,避免极端情况下生产/测试数据混乱。特别是针对本地调试场景,进一步加入hostname。
- 流量泳道机制:
- 在队列名中加入了gray标识,和服务的灰度泳道绑定。
- 二次封装handler,降低开发成本:
- 引入泛型机制,使框架能自动解析参数、且后续不需interface断言转换
- 提供json封装,发布任务时不需要手动序列化
- 与http框架融合,支持http请求自动转异步
- 针对http controller自动注册异步handler,且通过固定前缀避免和手动handler重名
- 合理的注册时机:避免异步请求进入时handler还未注册,导致任务执行失败
- 其他:
- 内置asynq的可视化界面,默认端口8889
- TODO
- 异步相关的metrics仪表盘:各队列qps,错误、panic、重试、抛弃情况
- 支持stage泳道