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