开发者社区 问答 正文

钉钉 事件订阅 Stream 模式推送 限流?

钉钉 事件订阅 Stream 模式推送 限流?

展开
收起
真的很搞笑 2024-01-31 20:04:55 238 分享 版权
阿里云 AI 助理回答

钉钉事件订阅的 Stream 模式推送 存在限流机制,以下是关于限流的具体说明和应对措施:


1. 限流规则

  • 钉钉自定义机器人发送消息的频率受到限制,每分钟最多发送20条消息
  • 如果超过此限制,机器人会被限流 10分钟,在此期间无法继续发送消息。

2. 限流场景

  • 高频事件触发:例如系统监控报警、ECS实例状态变更等场景,可能会短时间内产生大量事件通知,导致消息发送频率超出限制。
  • 多通道推送:如果同时配置了多个推送通道(如钉钉机器人、短信、邮件等),钉钉通道可能因限流而影响整体通知效果。

3. 应对措施

为了避免因限流导致重要消息丢失或延迟,可以采取以下策略:

(1)消息整合

  • 将短时间内产生的多条消息进行整合,通过 Markdown 格式 以摘要形式发送到钉钉群。
  • 示例:
    {
    "msgtype": "markdown",
    "markdown": {
      "title": "系统事件通知",
      "text": "### 系统事件汇总\n- 资源1: 状态变更\n- 资源2: 状态变更\n- 资源3: 状态变更"
    }
    }
    

(2)消息限流设置

  • 在推送平台中配置消息限流功能,限制每分钟/每小时/每天某个通道的推送上限。
  • 对于超出限流的消息,可以选择以下处理方式:
    • 忽略:不再重发,对应消息状态为“忽略”。
    • 重发:限流时间过后自动重发,重发前状态为“待发送”。

(3)分批发送

  • 将消息分批发送,避免集中触发限流。例如,将消息按优先级排序,优先发送高优先级消息。

(4)使用其他通知方式

  • 如果钉钉机器人限流频繁,可以考虑将部分通知切换到其他渠道(如短信、邮件、HTTP回调等),以分散通知压力。

4. 注意事项

  • 关键词配置:创建钉钉机器人时,需逐个添加关键词(如“云监控”),确保消息内容包含关键词才能成功发送。
  • 鉴权与签名:确保回调地址的鉴权逻辑正确,避免因签名验证失败导致消息投递失败。
  • 事件合并:对于高频事件(如ECS实例状态变更),建议合并相似事件,减少通知频率。

5. 总结

通过消息整合、限流设置、分批发送等方式,可以有效应对钉钉事件订阅的Stream模式推送限流问题。在实际应用中,建议根据业务需求合理配置推送策略,确保重要消息能够及时送达,同时避免对钉钉通道造成过大的压力。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答