文档

短轮询和长轮询

更新时间:

消息服务MNS提供短轮询(Short Polling)和长轮询(Long Polling)两种方式来获取队列中的消息。

短轮询

  • 创建队列时,长轮询时间设置为0,且发起popMessage请求时waitSeconds设置为0。

  • 使用短轮询获取队列中的消息,popMessage请求会向消息服务集群中的一个服务节点发送请求,并立即返回请求相应的消息,即使该服务节点没有消息,MNS也会立即返回响应。

长轮询

  • 创建队列时,长轮询时间设置大于0,或发起popMessage请求时waitSeconds设置大于0。长轮询最大值为30秒。第一优先级是popMessage的waitSeconds变量,第二优先级是queue配置的长轮询时间。

  • 使用长轮询获取队列中的消息,popMessage请求会一直在服务端运行,直到有消息的时候才返回。既可以保证立即收到消息,又避免您发送大量无效请求,减少请求次数,降低费用。

注意事项

如果popMessage请求返回无消息结果次数过多,可适当增加长轮询时间,减少请求次数以降低费用。

  • 本页导读 (1)