客服

简介

   进口汽车配件网总部设立在广州市越秀区致友汽配城,26家合作伙伴战略遍布全国。主要经营适用德国奔驰、宝马轿车以及路虎、保时捷、本田、奥迪、凯迪拉克全车汽车配件的销售业务。业务以广东广州为中心,辐射国内一二三线城市,分销网络遍布全国,配件采取就近仓库发货,保证质量同时更保证货运物流时效,联系电话:13711217509

奔驰专区

汽车配件 > 奔驰专区 >

阿里云账号注册,阿里云代理商代购

阿里云国际站经销商,主营阿里云,腾讯云,华为云,亚马逊aws,谷歌云gcp,微软云az,免费开户,代充值优惠大,联系客服飞机@jkkddd 长轮询 本文介绍消息服务MNS中使用LongPolling的最佳
  • 适用车型:
  • 零件单价:
  • 起订数量:
  • 有效期至:
  • 发货期限:
  • 微信号:bjxdqcpj
发布者:韩芳/来源:进口汽车配件网/发布时间:2023-09-05 17:30:02/阅读:

上一篇:阿里云账号注册,阿里云国际代理商

下一篇:阿里云服务器购买,阿里云账号免费注册

详细说明

阿里云国际站经销商,主营阿里云,腾讯云,华为云,亚马逊aws,谷歌云gcp,微软云az,免费开户,代充值优惠大,联系客服飞机@jkkddd


长轮询

本文介绍消息服务MNS中使用LongPolling的最佳实践。
背景信息
消息服务MNS提供了LongPolling类型的接收消息的方法,在接收消息的时候把等待时间设置在1s~30s。使用LongPolling可以让请求一直在服务器上运行,等到有消息的时候才返回。既可以保证第一时间收到消息,又避免您发送大量无效请求。LongPolling是消息服务MNS的推荐用法。
LongPolling参数设置,请参见ReceiveMessage。
LongPolling需要HTTP层的长连接保持在服务器上,而对于服务器来说,HTTP层的长连接的资源是有限的。为了避免受到恶意攻击,消息服务MNS对单用户的每个Queue的连接数是有限制的。具体信息,请参见使用限制。
问题描述
您在单台机器上开启上百个线程,即发送上百个LongPolling的请求,同时访问消息服务MNS服务器获取消息。如果您使用了多台机器,那么可能同时发送上千个LongPolling的请求。
此时队列中没有消息,如果您再次发起LongPolling,消息服务MNS服务器就会返回:消息不存在。
因此,如果您是在一个While循环里不停的做LongPolling请求,而没有做异常处理,会导致您发送了大量的请求,不能达到使用LongPolling的预期效果。
解决方案
当您打开上百个线程同时访问消息服务MNS服务器时,如果队列里已经没有消息,就不需要上百个线程同时运行LongPolling。此时只需要打开1~N个线程运行LongPolling。当运行LongPolling的线程发现队列里有消息时,唤醒其他线程一起接收消息,达到快速响应的目的。
长轮询示例代码是一个使用MessageReceiver获取消息的最佳实践。所有获取消息的线程都新建了MessageReceiver,使用receiver.receiveMessage来获取消息。
MessageReceiver内部做了LongPolling的排他机制,只要有一个线程在做LongPolling,其它线程就需要等待。

上一篇:阿里云账号注册,阿里云国际代理商

下一篇:阿里云服务器购买,阿里云账号免费注册


标题:阿里云账号注册,阿里云代理商代购    地址:http://www.gzaaa.cn/benchizhuanqu/47185.html


特别声明:本站的所有文章版权均属于进口汽车配件网,未经本网授权不得转载、摘编或利用其它方式使用上述作品,违背上述声明者,我们将追究其相干法律责任。

相关推荐