xframe/component/queue/asynq/README.md

1.4 KiB
Executable File
Raw Blame History

asynq的二次封装真正的生产环境友好

Features

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