xframe/component/queue/asynq/README.md

21 lines
1.4 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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