前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >rocketmq长轮询原理_java长轮询

rocketmq长轮询原理_java长轮询

作者头像
全栈程序员站长
发布2022-11-04 17:14:03
发布2022-11-04 17:14:03
1.4K00
代码可运行
举报
运行总次数:0
代码可运行

什么是长轮询

why

push:broker推,优势:实时,长链接,不会频繁建立链接;缺点:慢消费,broker负载过高

pull:客户端拉,优势:消费数量,速度可控;缺点:间隔难设定,过短,频繁网络请求,无效请求,过长:延迟消费

为了保证实时,我们可以把拉取消息的间隔设置的短一点,但这也带来了一个另外一个问题,在没有消息的时候时候会有大量pull请求,为了解决这个问题,就采用了本文讲解的长轮询技术。

轮询是以固定间隔请求服务器,它不在乎这次请求是否能拉取到消息。而长轮询,它请求的服务端,会等待一会儿时间,然后将等待时间内的消息返回。如果超时了,那么也返回空。有效的避免了无效的请求。

但是对于每次都能拉取到消息的情况下,长轮询也就退化成了轮询。

消费端如何定时执行pull:

消费端:如何控制长轮询

broker端:在长轮询时间段中,定时检查是否有消息到达,然后返回客户端

代码语言:javascript
代码运行次数:0
复制
PullRequestHoldService

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181892.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是长轮询
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档